Giter Site home page Giter Site logo

freckletonj / lsp-haskell Goto Github PK

View Code? Open in Web Editor NEW

This project forked from emacs-lsp/lsp-haskell

0.0 2.0 0.0 1.18 MB

lsp-mode :heart: haskell

Home Page: https://emacs-lsp.github.io/lsp-haskell

License: GNU General Public License v3.0

Emacs Lisp 100.00%

lsp-haskell's Introduction

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.

lsp-haskell's People

Contributors

alanz avatar anton-latukha avatar arjunkathuria avatar ericdallo avatar gdevanla avatar gmittert avatar hpdeifel avatar jason5lee avatar jcs090218 avatar kamoii avatar kurnevsky avatar luigy avatar maskray avatar michaelpj avatar nasyxx avatar ncaq avatar notogawa avatar peterbecich avatar serhiip avatar thkoch2001 avatar tristancacqueray avatar vibhavp avatar wpcarro avatar yyoncho avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.