https://wiki.haskell.org/api.php?action=feedcontributions&user=Simnalamburt&feedformat=atomHaskellWiki - User contributions [en]2024-03-28T14:23:13ZUser contributionsMediaWiki 1.35.5https://wiki.haskell.org/index.php?title=User:Simnalamburt&diff=64961User:Simnalamburt2022-01-30T21:08:32Z<p>Simnalamburt: Created page with "Hyeon Kim Personal website: https://hyeon.me/"</p>
<hr />
<div>Hyeon Kim<br />
<br />
Personal website: https://hyeon.me/</div>Simnalamburthttps://wiki.haskell.org/index.php?title=Vim&diff=64892Vim2021-12-14T15:55:04Z<p>Simnalamburt: haskell-ide-engine has been deprecated</p>
<hr />
<div>[[Category:Development tools]] <br />
<br />
There is a wide range of tools and corresponding VIM plugins that provide IDE-like features for Haskell development: [[haskell-language-server]] (implements the Language Server Protocol, thus needs a VIM LSP client), Intero, Dante, Codex, hdevtools and more. A less feature-rich but stable solution is to have ghcid running next to the editor window as described in [https://www.parsonsmatt.org/2018/05/19/ghcid_for_the_win.html]<br />
<br />
== Haskell Language Server ==<br />
If you want to use the [[Haskell Language Server]] with Vim or Neovim, there is a section in the docs for that: [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#vim-or-neovim Using haskell-language-server with Vim or NeoVim].<br />
<br />
== Assorted plugins for Vim or NeoVim ==<br />
<br />
* [https://github.com/neoclide/coc.nvim coc.nvim] Intellisense engine for Vim8 & Neovim, full language server protocol support as VSCode. Follow [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#vim-or-neovim haskell-language-server instruction] to add support for completion, linting, formatting, go to definition, etc. <br />
<br />
* [https://github.com/neovimhaskell/haskell-vim haskell-vim] Quote from [https://blog.jez.io/haskell-development-with-neovim/]: "It’s the filetype plugin for Haskell that should ship with Vim."<br />
<br />
* [https://github.com/chrisdone/hindent Hindent] Haskell pretty printer<br />
<br />
* [https://github.com/jaspervdj/stylish-haskell stylish-haskell] Haskell code prettifier<br />
<br />
* [https://github.com/w0rp/ale Ale] (Asynchronous Linting Engine)<br />
<blockquote><br />
ALE (Asynchronous Lint Engine) is a plugin for providing linting (checking syntax and semantics) in NeoVim 0.2.0+ and Vim 8 while you edit your text files, and acts as a Vim Language Server Protocol client.<br />
</blockquote><br />
Comes with linters cabal_ghc, ghc, ghc_mod, hdevtools, hie, hlint, stack_build, stack_ghc<br />
<br />
* [https://github.com/bitc/vim-hdevtools Hdevtools] taken from the github page:<br />
<blockquote><br />
hdevtools is a command line program powered by the GHC API, that provides services for Haskell development. hdevtools works by running a persistent process in the background, so that your Haskell modules remain in memory, instead of having to reload everything each time you change only one file. This is just like :reload in GHCi - with hdevtools you get the speed of GHCi as well as tight integration with your editor.<br />
<br />
This is the Vim plugin that integrates Vim with hdevtools.<br />
</blockquote></div>Simnalamburthttps://wiki.haskell.org/index.php?title=Vim&diff=64891Vim2021-12-14T15:54:19Z<p>Simnalamburt: Fix broken hyperlink</p>
<hr />
<div>[[Category:Development tools]] <br />
<br />
There is a wide range of tools and corresponding VIM plugins that provide IDE-like features for Haskell development: [[haskell-language-server]] (implements the Language Server Protocol, thus needs a VIM LSP client), Intero, Dante, Codex, hdevtools and more. A less feature-rich but stable solution is to have ghcid running next to the editor window as described in [https://www.parsonsmatt.org/2018/05/19/ghcid_for_the_win.html]<br />
<br />
== Haskell Language Server ==<br />
If you want to use the [[Haskell Language Server]] with Vim or Neovim, there is a section in the docs for that: [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#vim-or-neovim Using haskell-language-server with Vim or NeoVim].<br />
<br />
== Assorted plugins for Vim or NeoVim ==<br />
<br />
* [https://github.com/neoclide/coc.nvim coc.nvim] Intellisense engine for Vim8 & Neovim, full language server protocol support as VSCode. Follow haskell-ide-engine [https://github.com/haskell/haskell-ide-engine#coc instructions] to add support for completion, linting, formatting, go to definition, etc. <br />
<br />
* [https://github.com/neovimhaskell/haskell-vim haskell-vim] Quote from [https://blog.jez.io/haskell-development-with-neovim/]: "It’s the filetype plugin for Haskell that should ship with Vim."<br />
<br />
* [https://github.com/chrisdone/hindent Hindent] Haskell pretty printer<br />
<br />
* [https://github.com/jaspervdj/stylish-haskell stylish-haskell] Haskell code prettifier<br />
<br />
* [https://github.com/w0rp/ale Ale] (Asynchronous Linting Engine)<br />
<blockquote><br />
ALE (Asynchronous Lint Engine) is a plugin for providing linting (checking syntax and semantics) in NeoVim 0.2.0+ and Vim 8 while you edit your text files, and acts as a Vim Language Server Protocol client.<br />
</blockquote><br />
Comes with linters cabal_ghc, ghc, ghc_mod, hdevtools, hie, hlint, stack_build, stack_ghc<br />
<br />
* [https://github.com/bitc/vim-hdevtools Hdevtools] taken from the github page:<br />
<blockquote><br />
hdevtools is a command line program powered by the GHC API, that provides services for Haskell development. hdevtools works by running a persistent process in the background, so that your Haskell modules remain in memory, instead of having to reload everything each time you change only one file. This is just like :reload in GHCi - with hdevtools you get the speed of GHCi as well as tight integration with your editor.<br />
<br />
This is the Vim plugin that integrates Vim with hdevtools.<br />
</blockquote></div>Simnalamburt