HLS(Haskell Language Server) を 手動で インストールする方法を説明します。

HLSを 自動で インストールする方法は以下のPRで開発中です。

実行環境

環境 バージョン
OS Ubuntu 18.04
Stack 2.3.1
HLS ghcide version: 0.2.0.0 (GHC: 8.8.3) (PATH: ~/.local/bin/haskell-language-server) (GIT hash: 768fdcd588f5c37839086c0d787d1cb7438de37b)

導入手順

1. HLS のインストール

インストールには以下のものが必要です。

  • stack (バージョン2.1.1以上)
  • icu のライブラリなど

必要に応じてインストールしておきましょう。

$ stack upgrade
$ sudo apt update
$ sudo apt install libicu-dev libncurses-dev libgmp-dev zlib1g-dev

準備ができたらHLSをリポジトリからクローンしてインストールしましょう。(以下の例では GHC-8.8.3 を対象としています。)

$ git clone https://github.com/haskell/haskell-language-server --recurse-submodules
$ cd haskell-language-server
$ stack ./install.hs hls

インストールができました。

$ haskell-language-server --version
ghcide version: 0.2.0.0 (GHC: 8.8.3) (PATH: /home/yamada/.local/bin/haskell-language-server) (GIT hash: 768fdcd588f5c37839086c0d787d1cb7438de37b)

エディタの設定

VSCode

拡張機能 Haskell Language Server をインストールし、 設定から haskell-language-server を指定します。

VSCodeの設定

Emacs

こちらの記事を参考に、 lsp-mode, lsp-ui, lsp-haskell をEmacsにインストールします。

設定ファイルで以下のように haskell-language-server-wrapper を指定します。

(use-package lsp-haskell
 :ensure t
 :config
 (setq lsp-haskell-process-path-hie "haskell-language-server-wrapper")
 ;; Comment/uncomment this line to see interactions between lsp client/server.
 ;;(setq lsp-log-io t)
)

参考