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