Purescript language support for vim and neovim providing syntax highlighting and indentation based on based on idris-vim and haskell-vim.
See purescript-language-server for details on how to set up language server support for Purescript.
Copy content of this repository into your ~/.vim directory (or %HOME%\vimfiles on Windows).
Be sure that the following lines are in your .vimrc
syntax on
filetype on
filetype plugin indent onIf you are using Pathogen, clone this repo into your ~/.vim/bundle directory and you are ready to go.
cd ~/.vim/bundle
git clone https://github.com/purescript-contrib/purescript-vim.gitIf you are using vim-plug, add the following line in between your plug#begin and plug#end calls for your vim config file:
Plug 'purescript-contrib/purescript-vim'Save and restart (neo)vim and run :PlugInstall.
To configure indentation in purescript-vim you can use the following variables:
Disable indentation altogether.
let g:purescript_disable_indent = 1let g:purescript_indent_case = 5 case xs of
>>>>>[] -> ...
>>>>>(y:ys) -> ...let g:purescript_indent_let = 4 let x = 0 in
>>>>xlet g:purescript_indent_in = 1 let x = 0
>in xlet g:purescript_indent_where = 6 where f :: Int -> Int
>>>>>>f x = xlet g:purescript_indent_do = 3 do x <- a
>>>y <- blet g:purescript_indent_dot = 1 unsnoc
:: forall a
>. List a
-> Maybe (List a, a)Contributing checklist:
- Opened an issue before investing a significant amount of work into changes
- Update README.md with any new configuration options and behavior
- Update CHANGELOG.md with the proposed changes
- Run
generate-doc.shto re-generate the documentation