Need help with purescript-vim?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

purescript-contrib
136 Stars 28 Forks BSD 2-Clause "Simplified" License 84 Commits 14 Opened issues

Description

Syntax highlighting and indentation for PureScript

Services available

!
?

Need anything else?

Contributors list

purescript-vim

Maintainer: vladciobanu

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.

Installation

Manual Installation (no plugin manager)

Copy content of this repository into your

~/.vim
directory (or
%HOME%\vimfiles
on Windows).

Be sure that the following lines are in your

.vimrc
vim
syntax on
filetype on
filetype plugin indent on

Pathogen

If 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.git

vim-plug

If 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
.

Configuration

Indentation

To configure indentation in

purescript-vim
you can use the following variables:

g:purescriptdisableindent

Disable indentation altogether.

let g:purescript_disable_indent = 1

g:purescriptindentcase

let g:purescript_indent_case = 5
        case xs of
        >>>>>[]     -> ...
        >>>>>(y:ys) -> ...

g:purescriptindentlet

let g:purescript_indent_let = 4
        let x = 0 in
        >>>>x

g:purescriptindentin

let g:purescript_indent_in = 1
    let x = 0
    >in x

g:purescriptindentwhere

let g:purescript_indent_where = 6
        where f :: Int -> Int
        >>>>>>f x = x

g:purescriptindentdo

let g:purescript_indent_do = 3
        do x >>y 

g:purescriptindentdot

let g:purescript_indent_dot = 1
    unsnoc
      :: forall a
      >. List a
      -> Maybe (List a, a)

Contributing

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.sh
    to re-generate the documentation

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.