Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Eglot | 1,926 | 2 days ago | 77 | gpl-3.0 | Emacs Lisp | |||||
A client for Language Server Protocol servers | ||||||||||
Eslint_d.js | 867 | 204 | 193 | 6 months ago | 62 | May 26, 2022 | 11 | mit | JavaScript | |
Makes eslint the fastest linter on the planet | ||||||||||
Meghanada Emacs | 610 | 10 days ago | 26 | gpl-3.0 | Emacs Lisp | |||||
A Better Java Development Environment for Emacs | ||||||||||
Emacs_chrome | 480 | 9 months ago | 65 | gpl-3.0 | JavaScript | |||||
A Chromium "clone" of It's All Text for spawning an editor to edit text areas in browsers. Based on David Hilley's original Chromium extension. | ||||||||||
Elnode | 466 | 4 years ago | 22 | gpl-3.0 | Emacs Lisp | |||||
evented io webserver right inside your emacs. | ||||||||||
Intellij Lsp Server | 307 | 4 years ago | 24 | other | Kotlin | |||||
Exposes IntelliJ IDEA features through the Language Server Protocol. | ||||||||||
Nox | 211 | a year ago | 5 | Emacs Lisp | ||||||
Nox is a lightweight, high-performance LSP client for Emacs | ||||||||||
Lsp Haskell | 210 | 5 months ago | 16 | gpl-3.0 | Emacs Lisp | |||||
lsp-mode :heart: haskell | ||||||||||
Scion | 180 | 10 years ago | 3 | January 26, 2015 | 13 | other | Haskell | |||
OLD, DEPRECATED: Use this instead https://github.com/haskell/haskell-ide-engine | ||||||||||
Emacs Web Server | 142 | 2 years ago | 2 | gpl-3.0 | Emacs Lisp | |||||
web server running Emacs Lisp handlers. |
An Emacs Lisp library for interacting with a Haskell language server such as haskell-language-server
using Microsoft's Language Server Protocol.
The library acts as a client for lsp-mode
.
This main functionality of lsp-haskell
is:
haskell-language-server
binaryhaskell-language-server
If you would like to know about how LSP functionality is provided in Emacs and how to use it, please consult lsp-mode
.
If you would like to know about the LSP functionality which is provided by the Haskell language server, please consult haskell-language-server
.
Follow the lsp-mode
installation instructions.
Do not skip this!
It has important information.
lsp-mode
automatically requires the lsp-haskell
package , so you do not need to require
lsp-haskell
unless you like being explicit.
Similarly, lsp-haskell
automatically requires the haskell-mode
package, so you do not need to require
haskell-mode
.
You will need to set some hooks to ensure that lsp-mode
is triggered when the haskell-mode
major mode is entered.
(add-hook 'haskell-mode-hook #'lsp)
(add-hook 'haskell-literate-mode-hook #'lsp)
HLS has some configuration you can modify using either the lsp-haskell
or lsp
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 using lsp--set-configuration
. For example:
(add-hook 'lsp-after-initialize-hook
'(lambda ()
(lsp--set-configuration
'(:haskell (:plugin (:tactics (:config (:timeout_duration 5)))))
)))
Follow the instructions on the haskell-language-server
repositories to install the server binaries.
If you have installed the binaries to a location that is not on your PATH
, or you are not using the haskell-language-server-wrapper
, then you will need to customize the lsp-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 currently not be applied until the server is restarted.
lsp-haskell
is just the glue between lsp-mode
and haskell-language-server
.
If you have an issue with Emacs, it is probably a lsp-mode
issue.
If you have an issue with the Haskell functionality itself, it is probably a haskell-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, the haskell-language-server
README provides some troubleshooting instructions.