summaryrefslogtreecommitdiffstats
path: root/runtime/ftplugin/elixir.vim
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:09:20 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:09:20 +0000
commit029f72b1a93430b24b88eb3a72c6114d9f149737 (patch)
tree765d5c2041967f9c6fef195fe343d9234a030e90 /runtime/ftplugin/elixir.vim
parentInitial commit. (diff)
downloadvim-029f72b1a93430b24b88eb3a72c6114d9f149737.tar.xz
vim-029f72b1a93430b24b88eb3a72c6114d9f149737.zip
Adding upstream version 2:9.1.0016.upstream/2%9.1.0016
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'runtime/ftplugin/elixir.vim')
-rw-r--r--runtime/ftplugin/elixir.vim39
1 files changed, 39 insertions, 0 deletions
diff --git a/runtime/ftplugin/elixir.vim b/runtime/ftplugin/elixir.vim
new file mode 100644
index 0000000..d067f47
--- /dev/null
+++ b/runtime/ftplugin/elixir.vim
@@ -0,0 +1,39 @@
+" Elixir filetype plugin
+" Language: Elixir
+" Maintainer: Mitchell Hanberg <vimNOSPAM@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&vim
+
+" 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