All Projects → emacs-lsp → Lsp Haskell

emacs-lsp / Lsp Haskell

Licence: gpl-3.0
lsp-mode ❤️ haskell

Programming Languages

haskell
3896 projects

Labels

Projects that are alternatives of or similar to Lsp Haskell

lsp-metals
lsp-mode ❤️ metals
Stars: ✭ 49 (-68.99%)
Mutual labels:  melpa, lsp
Lsp Dart
lsp-mode ❤️ dart
Stars: ✭ 94 (-40.51%)
Mutual labels:  lsp, melpa
Exwm Edit
Edit mode for EXWM
Stars: ✭ 92 (-41.77%)
Mutual labels:  melpa
Crystalline
A Language Server Protocol implementation for Crystal. 🔮
Stars: ✭ 131 (-17.09%)
Mutual labels:  lsp
Nvim Lspconfig
Quickstart configurations for the Nvim LSP client
Stars: ✭ 3,410 (+2058.23%)
Mutual labels:  lsp
Coc Angular
Angular Language Service coc extension for (neo)vim
Stars: ✭ 95 (-39.87%)
Mutual labels:  lsp
Selectric Mode
⌨ Make your Emacs sound like a proper typewriter.
Stars: ✭ 121 (-23.42%)
Mutual labels:  melpa
Dumb Jump
an Emacs "jump to definition" package for 50+ languages
Stars: ✭ 1,256 (+694.94%)
Mutual labels:  melpa
Linum Relative
display relative line number in the left margin in emacs
Stars: ✭ 152 (-3.8%)
Mutual labels:  melpa
Implicit Hie
Auto generate a stack or cabal multi component hie.yaml file
Stars: ✭ 114 (-27.85%)
Mutual labels:  lsp
Emacs Solaire Mode
If only certain buffers could be so grossly incandescent.
Stars: ✭ 129 (-18.35%)
Mutual labels:  melpa
Lsp Pyright
lsp-mode ❤️ pyright
Stars: ✭ 111 (-29.75%)
Mutual labels:  lsp
Nimbus Theme
The best dark theme for Emacs
Stars: ✭ 102 (-35.44%)
Mutual labels:  melpa
Coc Metals
coc.nvim extension for Metals, the Scala language server
Stars: ✭ 124 (-21.52%)
Mutual labels:  lsp
Php Language Server Protocol
Protocol classes for the Language Server Protocol in PHP
Stars: ✭ 136 (-13.92%)
Mutual labels:  lsp
Spyglass
Development tools for vanilla Minecraft: Java Edition content creators.
Stars: ✭ 91 (-42.41%)
Mutual labels:  lsp
Web Mode
web template editing mode for emacs
Stars: ✭ 1,470 (+830.38%)
Mutual labels:  melpa
Graphql Mode
An Emacs mode for GraphQL
Stars: ✭ 120 (-24.05%)
Mutual labels:  melpa
Explain Pause Mode
top, but for Emacs.
Stars: ✭ 158 (+0%)
Mutual labels:  melpa
Nvim Lsputils
Better defaults for nvim-lsp actions
Stars: ✭ 142 (-10.13%)
Mutual labels:  lsp

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.

Emacs Configuration

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.

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)

All the functionality provided by lsp-haskell can be customized using Emacs customization variables in the lsp-haskell group (itself in the lsp group).. Run (customize-group lsp-haskell) or (customize-group lsp) to get started.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].