diff options
Diffstat (limited to 'mnv/runtime/ftplugin/elixir.mnv')
| -rw-r--r-- | mnv/runtime/ftplugin/elixir.mnv | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/mnv/runtime/ftplugin/elixir.mnv b/mnv/runtime/ftplugin/elixir.mnv new file mode 100644 index 0000000000..159ca7ba30 --- /dev/null +++ b/mnv/runtime/ftplugin/elixir.mnv @@ -0,0 +1,39 @@ +" Elixir filetype plugin +" Language: Elixir +" Maintainer: Mitchell Hanberg <mnvNOSPAM@mitchellhanberg.com> +" Last Change: 2023 Dec 27 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:save_cpo = &cpo +set cpo&mnv + +" Matchit support +if exists('loaded_matchit') && !exists('b:match_words') + let b:match_ignorecase = 0 + + let b:match_words = '\:\@<!\<\%(do\|fn\)\:\@!\>' . + \ ':' . + \ '\<\%(else\|catch\|after\|rescue\)\:\@!\>' . + \ ':' . + \ '\:\@<!\<end\>' . + \ ',{:},\[:\],(:)' +endif + +setlocal shiftwidth=2 softtabstop=2 expandtab iskeyword+=!,? +setlocal comments=:# +setlocal commentstring=#\ %s + +setlocal indentkeys=0#,!^F,o,O +" Enable keys for blocks +setlocal indentkeys+=0=after,0=catch,0=do,0=else,0=end,0=rescue +" Enable keys that are usually the first keys in a line +setlocal indentkeys+=0->,0\|>,0},0],0),> + +let b:undo_ftplugin = 'setlocal sw< sts< et< isk< com< cms< indk<' + +let &cpo = s:save_cpo +unlet s:save_cpo |
