- Notifications
You must be signed in to change notification settings - Fork65
emacs-lsp/lsp-haskell
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
An Emacs Lisp library for interacting with a Haskell language server such ashaskell-language-server
using Microsoft'sLanguage Server Protocol.
The library acts as a client forlsp-mode
.
This main functionality oflsp-haskell
is:
- Finding and launching the
haskell-language-server
binary - Providing configuration options to
haskell-language-server
If you would like to know about how LSP functionality is provided in Emacs and how to use it, please consultlsp-mode
.If you would like to know about the LSP functionality which is provided by the Haskell language server, please consulthaskell-language-server
.
Follow thelsp-mode
installation instructions.Do not skip this!It has important information.
lsp-mode
automatically requires thelsp-haskell
package , so you do not need torequire
lsp-haskell
unless you like being explicit.
You will need to set some hooks to ensure thatlsp-mode
is triggered when your Haskell major mode (e.g.,haskell-mode
orhaskell-ts-mode
) is entered.
(add-hook'haskell-mode-hook#'lsp)(add-hook'haskell-literate-mode-hook#'lsp)
HLS has someconfiguration you can modify using either thelsp-haskell
orlsp
customization groups:
(customize-group'lsp-haskell); or(customize-group'lsp)
If you want to modify some configuration that this project doesn't support yet you can customize things explicitly yourself usinglsp--set-configuration
. For example:
(add-hook'lsp-after-initialize-hook '(lambda () (lsp--set-configuration '(:haskell (:plugin (:tactics (:config (:timeout_duration5))))) )))
Follow the instructions on thehaskell-language-server
repositories to install the server binaries.
If you have installed the binaries to a location that is not on yourPATH
, or you are not using thehaskell-language-server-wrapper
, then you will need to customize thelsp-haskell-server-path
variable to point to the executable you want to launch.
lsp-haskell
provides a few options for for setting the server executable and arguments, and numerous settings for configuring the server itself (hlint
, choice of formatting provider, etc.).
Note that server configuration settings will currentlynot be applied until the server is restarted.
lsp-haskell
isjust the glue betweenlsp-mode
andhaskell-language-server
.
If you have an issue with Emacs, it is probably alsp-mode
issue.If you have an issue with the Haskell functionality itself, it is probably ahaskell-language-server
issue.If you have an issue specifically with how the two are joined together, then it belongs here!
If you're not sure what the problem is, thehaskell-language-server
README provides some troubleshooting instructions.
About
lsp-mode ❤️ haskell
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.