neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

elixir.vim (980B)


      1 " Elixir filetype plugin
      2 " Language: Elixir
      3 " Maintainer:	Mitchell Hanberg <vimNOSPAM@mitchellhanberg.com>
      4 " Last Change: 2023 Dec 27
      5 
      6 if exists("b:did_ftplugin")
      7  finish
      8 endif
      9 let b:did_ftplugin = 1
     10 
     11 let s:save_cpo = &cpo
     12 set cpo&vim
     13 
     14 " Matchit support
     15 if exists('loaded_matchit') && !exists('b:match_words')
     16  let b:match_ignorecase = 0
     17 
     18  let b:match_words = '\:\@<!\<\%(do\|fn\)\:\@!\>' .
     19        \ ':' .
     20        \ '\<\%(else\|catch\|after\|rescue\)\:\@!\>' .
     21        \ ':' .
     22        \ '\:\@<!\<end\>' .
     23        \ ',{:},\[:\],(:)'
     24 endif
     25 
     26 setlocal shiftwidth=2 softtabstop=2 expandtab iskeyword+=!,?
     27 setlocal comments=:#
     28 setlocal commentstring=#\ %s
     29 
     30 setlocal indentkeys=0#,!^F,o,O
     31 " Enable keys for blocks
     32 setlocal indentkeys+=0=after,0=catch,0=do,0=else,0=end,0=rescue
     33 " Enable keys that are usually the first keys in a line
     34 setlocal indentkeys+=0->,0\|>,0},0],0),>
     35 
     36 let b:undo_ftplugin = 'setlocal sw< sts< et< isk< com< cms< indk<'
     37 
     38 let &cpo = s:save_cpo
     39 unlet s:save_cpo