haskell-language-server
lsp-mode
Our great sponsors
haskell-language-server | lsp-mode | |
---|---|---|
99 | 110 | |
2,279 | 4,290 | |
2.2% | 1.4% | |
8.7 | 9.1 | |
2 days ago | 7 days ago | |
Haskell | Emacs Lisp | |
Apache License 2.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
haskell-language-server
-
Haskell is a good, useful, and practical programming language.
Indeed, there is a lot of room for improvements. But I just wanted to acknowledge and thank the work of those involved in HLS which IMHO was a game changer in that regard.
-
No HLS support for the "recommended" 9.2.5?
Specifically, gchup and HLS are both opensource community efforts. If you want to see HLS work with ghc-9.2.5, you may want to ask https://github.com/haskell/haskell-language-server or, better, provide them a PR that builds HLS with ghc-9.2.5.
-
dev environment for windows
Sadly ghcup tui is not available on windows, but you can check the available versions with ghcup list. Hls lists the compatible versions of ghc at their github releases. For 1.8.0.0 I went with 9.4.2. To install it and set it to default you have to use the ghcup install ghc 9.4.2 then the ghcup set ghc 9.4.2. Hopefully this will be useful to someone with the same problem.
-
HLS issues an error for Setup.hs and Spec.hs (using hspec-discover)
Here's an issue I created for it: https://github.com/haskell/haskell-language-server/issues/3348
-
Transform your old and tired Haskell source files in shining Notebooks
The code is executed by HLS, see https://github.com/haskell/haskell-language-server/blob/master/plugins/hls-eval-plugin/README.md and then its markdown/html output is displayed by VS Code.
-
What is the correct way to compile non-haskell sourcefiles in a cabal project.
As you can see there, Shake is also a good fit for Cabal scripts. And Cabal scripts work better in 3.8. There are still issues loading them with HLS, but hopefully not for long. For this reason, I also have a build.sh which wraps that, allowing the script to be loaded via GHC directly, but I look forward to being able to remove this.
- haskell-language-server 1.8.0.0 released!
-
[ANNOUNCE] GHC 9.4.1-rc1 is now available
AFAIK the latest GHC version which the haskell language server (which is what the vs code extension uses) supports is 9.2.2, so not yet, I'd say.
-
Proper editor support?
As far as I could see this bug is already reported. It is about stack not being able to handle multi crate project.
I believe you've bumped into this issue: https://github.com/haskell/haskell-language-server/issues/2857
lsp-mode
-
Newbie here! Need Help!
I love emacs for the fact that I can use it with many different languages. I get my IDE like features (auto-complete, linting, formatting etc.) from lsp-mode. You can configure emacs by writing elisp in your .emac dotfile in your home directory. Here is my messy config file. The general tactic is to copy snippets from other people. I don't know a good starting point for configuring, but maybe this video can give you a glimpse of what it is like. Picking a feature and getting it working was what helped me when I first started out with emacs. evil-mode was the first thing I installed, because I like vim.
Since you are doing code development, the first things to go for would be setting up your emacs packaging (installing use-package and melpa (use-package's documentation covers this) so you have more packages to choose from (do be careful to not just pick things willy nilly but research them a bit first)) and then setting up lsp-mode. lsp-mode lets you use LSP servers for the specific programming languages you work with in a somewhat unified fashion. You then need to install and setup the LSP servers for the languages you use, and possibly install language specific Emacs packages as support (note, Emacs has builtin functionality for many).
-
Emacs 29: Install Tree-Sitter parser modules with a minor mode
And first of all, I'm trying to understand, how is it connected to https://github.com/emacs-lsp/lsp-mode? I'm sure, that existed lsp implementations already parse source code. Why TreeSitter?
-
Emacs as IDE
Debugging (kind of an IDE feature) is a little harder. Out of the box, Emacs can at least debug emacs-lisp (with built-in features) and C (via gdb integration). Beyond that, take a look at dap-mode for other language options. Similarly, take a look at lsp-mode or eglot for code completion, more advanced linting, etc.
-
How to develop Xcode project in emacs?
lsp-sourcekit ;; completion stops working after lsp server returns an error #3028
- Async non-blocking JSONRPC (or lsp performance faster/comparable with other clients)
-
Overleaf makes me mad and TeXstudio is superior
If you use emacs, I recommend to get some modern goodness by installing lsp-mode (or eglot) to interact with language servers and then install a latex language servers like texlab. This in my expericence really improved the autocompletion so I don't feel like I loose anything over using vscode, texlab or overleaf .Recently I also switched to lsp-ltex for language-tool integration. All those tools lsp servers can also be used from other editors with lsp support, so use what you prefer. I would only recommend emacs to those who want a fully customized and keyboard driven experience and are not afraid to eventually modify some lisp code. But it has its unique advantages, many editing tools and in addition to the still great auctex also cdlatex for super quick math typesetting.
-
Eglot is merged into emacs git master
One caveat I had was with TypeScript - eglot can't run more than one LSP server at the same time, so you have to use a separate package for ESLint if you use it along tsserver. But I think that's a perfectly fine solution and it honestly works better than lsp-mode, which required me to install a separate package just to get errors to show up properly.
-
Help tracking down problem with text below the cursor moving with cc-mode/lsp
I couldn't reproduce it with my setup. Just for the reference, I use Doom ba35f12be with Emacs 29.0.50 76b7a5936 on Debian 10. Specifically, lsp-mode 68bdac0f8, lsp-ui d8cce7dc1. I use monospace Iosevka TTF font for both italics and regular faces.
-
Help a Linux kernel dev setup LSP
The first step is choosing whether to use the eglot or lsp package for your LSP client. After choosing this, you will need an actual LSP server installed. The two main (and best) contenders are ccls and clangd. For both the client and the server, the choice you make is personal, and it's quite easy to switch between them, considering a simple configuration.
What are some alternatives?
eglot - A client for Language Server Protocol servers
ctags - A maintained ctags implementation
tide - Tide - TypeScript Interactive Development Environment for Emacs
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
dap-mode - Emacs :heart: Debug Adapter Protocol
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
vscode-intelephense - PHP intellisense for Visual Studio Code
company-lsp - Company completion backend for lsp-mode
lua-language-server - A language server that offers Lua language support - programmed in Lua
neovim - Vim-fork focused on extensibility and usability
GNU/Emacs go-mode - Emacs mode for the Go programming language
emacs-jupyter - An interface to communicate with Jupyter kernels.