Lsp Haskell

lsp-mode ❤️ haskell
Alternatives To Lsp Haskell
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Eglot1,926
2 days ago77gpl-3.0Emacs Lisp
A client for Language Server Protocol servers
Eslint_d.js8672041936 months ago62May 26, 202211mitJavaScript
Makes eslint the fastest linter on the planet
Meghanada Emacs610
10 days ago26gpl-3.0Emacs Lisp
A Better Java Development Environment for Emacs
Emacs_chrome480
9 months ago65gpl-3.0JavaScript
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.
Elnode466
4 years ago22gpl-3.0Emacs Lisp
evented io webserver right inside your emacs.
Intellij Lsp Server307
4 years ago24otherKotlin
Exposes IntelliJ IDEA features through the Language Server Protocol.
Nox211
a year ago5Emacs Lisp
Nox is a lightweight, high-performance LSP client for Emacs
Lsp Haskell210
5 months ago16gpl-3.0Emacs Lisp
lsp-mode :heart: haskell
Scion180
10 years ago3January 26, 201513otherHaskell
OLD, DEPRECATED: Use this instead https://github.com/haskell/haskell-ide-engine
Emacs Web Server142
2 years ago2gpl-3.0Emacs Lisp
web server running Emacs Lisp handlers.
Alternatives To Lsp Haskell
Select To Compare


Alternative Project Comparisons
Readme

lsp-haskell

MELPA Build Status

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.

Functionality

This main functionality of lsp-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 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.

Installation

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)

Configuration

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)))))
              )))

Language server installation

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.

Server configuration

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.

Troubleshooting

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.

Popular Server Projects
Popular Emacs Projects
Popular Networking Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Server
Language
Haskell
Emacs Lisp
Emacs
Lsp
Melpa
Language Server Protocol