haskell-language-server
Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine. (by haskell)
xmonad-testing
Stack/cabal setup for testing xmonad* and configurations (by xmonad)
Our great sponsors
haskell-language-server | xmonad-testing | |
---|---|---|
84 | 5 | |
2,122 | 26 | |
1.8% | - | |
9.6 | 0.0 | |
1 day ago | over 1 year ago | |
Haskell | Shell | |
Apache License 2.0 | BSD 2-clause "Simplified" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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
Posts with mentions or reviews of haskell-language-server.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-07-22.
-
[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.
- Parsing phone numbers with Megaparsec
- Why isn't GHC smarter when doing eta expansion for deep subsumption?
-
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
-
Is there some truth to this hyperbole? "Haskell is beautiful and elegant, but unmaintainable and painful"
It kinda is, but it's a one-time thing and it gives us the ability to map module names to packages by only looking at the index. Plus, the list can be generated: cabal-fmt has an expand feature, and in the future HLS could do that too.
-
Monthly Hask Anything (June 2022)
I know in the past I've had to do things like use a custom `hie.yaml` file, yet, with this merged, and using the latest HLS version recommended by ghcup (1.7), and what doesn't seem to me like an incredibly esoteric build setup -- I have to ask myself: Why isn't this working?
- haskell-flake: A `flake-parts` Nix module for Haskell development.
-
Monthly Hask Anything (May 2022)
There is work in progress to integrate the REPL into the HLS (basically what provides IDE functionality to vscode): https://github.com/haskell/haskell-language-server/issues/477
-
My GHC dev environment with vscode remote & docker
FROM registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:0849567cd9780cc8e9652118b949cb050c632ef4 ARG UID ARG GID RUN \ curl -SsL https://github.com/boxboat/fixuid/releases/download/v0.5.1/fixuid-0.5.1-linux-amd64.tar.gz | sudo tar -C /usr/local/bin -xzf - && \ sudo chown root:root /usr/local/bin/fixuid && \ sudo chmod 4755 /usr/local/bin/fixuid && \ sudo mkdir -p /etc/fixuid && \ printf "user: ghc\ngroup: ghc\n" | sudo tee /etc/fixuid/config.yml USER ${UID}:${GID} RUN fixuid USER ghc RUN \ sudo rm -r \ /etc/fixuid \ /usr/local/bin/fixuid \ /var/run/fixuid.ran ENV PATH=${PATH}:/home/ghc/.cabal/bin:/opt/ghc/9.2.2/bin RUN \ sudo apt update && \ sudo apt install -y \ bash-completion && \ cd /tmp && \ git clone https://github.com/haskell/haskell-language-server.git && \ cd haskell-language-server && \ cabal --project-file=cabal-ghc92.project update && \ cabal --project-file=cabal-ghc92.project install && \ rm -rf /tmp/*
xmonad-testing
Posts with mentions or reviews of xmonad-testing.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-05-05.
-
Using xmonad-testing as lib
All is well and works properly. Now, however, I would like to switch to the git version of Xmonad by using xmonad-testing. For that I cloned the repo, switched both xmonad & xmonad-contrib branches to master and compiled executable. First of all, if I run the executable with `--version`, I get '0.15', that seems to me not correct. Shouldn't it be 0.16, even though it is not released yet? Second, I am not sure whether I need to somehow install the Git versions as libraries to be able to use new features and to get Vim with haskell-language-server recognize the new features. My configuration is in `~/.xmonad`. I think if I copy the config to the directory where the cloned repos are, it (using the new features) will work...
-
Build script with dbus using stack
If don't build via the first method and you want to use a project-like structure as in xmonad-testing then yes, you need a cabal file. There is an example file available in the repo.
The other build script I tried is the one from xmonad-testing, modified as follows:
-
Easiest way to hack using stack or cabal and use local package.
Depending on whether you want to use stack or cabal, there is xmonad-testing, which is a repository that solely exists to show users how to do this! Under build-scripts you can find examples for both stack and cabal (be sure to read the readme for how to use these). If you want to use cabal 3.4 then mind geekosaur's pr for things to work smoothly with the new- style commands which are now the default.
-
Xmonad Cabal project
There are some example build scripts that I use that make it super easy.
What are some alternatives?
When comparing haskell-language-server and xmonad-testing you can also consider the following projects:
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
lsp-mode - Emacs client/library for the Language Server Protocol
neovim - Vim-fork focused on extensibility and usability
vscode-haskell - VS Code extension for Haskell, powered by haskell-language-server
hie-bios - Set up a GHC API session for various Haskell Projects
ormolu - A formatter for Haskell source code
lsp-haskell - lsp-mode :heart: haskell
stack - The Haskell Tool Stack
ghc-proposals - Proposed compiler and language changes for GHC and GHC/Haskell
emacs-which-key - Emacs package that displays available keybindings in popup
leksah - Haskell IDE
vscode-ghc-simple - Simple GHC (Haskell) integration for VSCode