ブログで書いたつもりになってゐて 書いてゐなかったので まとめてみる
1. coc.nvimをインストールする
2. CocConfigコマンドを實行して Language Server の設定を書く
3. GHCと Haskell Language Server (HLS) をインストール (GHCup)
1について
まづ vim がそもそもない といふ人で windowしか知らない といふ人は
windows に PowerShell 7 をインストールして
管理者として實行し wsl をインストールする
多分 Ubuntuがインストールされると思ふが うまくいかなければ ここらへん を參考にするとよいと思ふ
sudo apt install vim
でvimをインストール
vim-plug を入れる
(Installation の Unix といふところに貼ってあるコードをコピーして コマンドライン(シェル)に貼りつけ 實行させる)
cd ~
として ホームディレクトリに移動したら
vim .vimrc
として .vimrcファイルを編集する
(あと vimの使ひ方が分からなければ vimtutor
を實行して學ぶ)
syntax on set number set smartindent set autoindent set expandtab set tabstop=2 set softtabstop=2 set shiftwidth=2 set encoding=utf-8 call plug#begin() Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'neovimhaskell/haskell-vim' Plug 'Twinside/vim-haskellFold' call plug#end() colorscheme torte filetype plugin indent on augroup remember_folds autocmd! autocmd BufWinLeave * silent mkview autocmd BufWinEnter * silent loadview augroup END
ここでカラースキームを設定してゐるが それは この設定が結果として見易くなったからだ
あと haskell-vim は インデントとかをhaskell向けにしたり 色々してくれるっぽい
それから 最初にup したとき書き忘れてたんだけど
coc.nvimの設定を.vimrcに加へた方がいいと思ふ(私の場合は何も考へず そのまま ここ の Example Vim configuration といふところをコピーして .vimrcに貼りつけた)
:PlugInstall
として プラグインをインストール
これで coc.nvimが入ると思ふ
2について
vimを開いた状態で
:CocConfig
とコマンドを入力
すると編集画面に移るので
{ "languageserver": { "haskell": { "command": "haskell-language-server-wrapper", "args": ["--lsp"], "rootPatterns": ["*.cabal", "stack.yaml", "cabal.project", "package.yaml", "hie.yaml"], "filetypes": ["haskell", "lhaskell"], // Settings are optional, here are some example values "settings": { "haskell": { "checkParents": "CheckOnSave", "checkProject": true, "maxCompletions": 40, "formattingProvider": "ormolu", "plugin": { "stan": { "globalOn": true } } } } } } }
基本的に ここ に書いてあるものを貼りつけただけだが 最初と最後に中括弧を追加しないとエラーになると思ふ
3について
Language Server 使へる設定にしたのに そもそもHaskell入れてへんかった~ といふことで インストール
ブラウザを開き(もとのOSのやつでいい)
GHCupの Installation ページで
System Requirements といふところを見る
Ubuntu のwslであれば Ubuntu のところを見て
そこに書いてある
build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
といったものをコピーし
Ubuntuのターミナルで
sudo apt install コピーしたやつ
とやって 必要なプログラムや ライブラリをインストールする
ここで 何かエラーが出たら そのエラーを出したっぽいプログラムorライブラリを 上のインストールリストから除いて もういっかい試す
例へば 何か libncurses-dev のインストールでエラーが出てゐた場合は
sudo apt install build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses5 libtinfo5
とやって libncurses-dev を除いてゐる ってな感じ
無事インストールできたら
GHCup の Installation ページの 上の方にある For Linux ,.... うんちゃら といふところに書いてある内容をコピーして
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
ターミナルに貼りつけて實行する
途中で Haskell Language Server を入れるか聞かれるので Yes の方を選ぶ
インストールが終わったら
ghcup tui
として HLSがインストールされて さらに Set されてゐることを確認
ちゃんと Set されてゐると チェックマークが二つ入ってゐる
てなことで
Happy Haskell Holidays!!!