diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2014-08-27 18:16:33 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2014-08-27 18:16:33 +0200 |
commit | bd35da8e9ca0bddd95539bef0c8f4857dc4cc746 (patch) | |
tree | 2eda075ecdbeb5a05a536c3a91272559ee936989 /ftplugin/eelixir.vim | |
parent | 91da1ec2a5e8fb926535160ef4644ff879d3ee08 (diff) | |
download | vim-polyglot-bd35da8e9ca0bddd95539bef0c8f4857dc4cc746.tar.gz vim-polyglot-bd35da8e9ca0bddd95539bef0c8f4857dc4cc746.zip |
Updatev1.10.1
Diffstat (limited to 'ftplugin/eelixir.vim')
-rw-r--r-- | ftplugin/eelixir.vim | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/ftplugin/eelixir.vim b/ftplugin/eelixir.vim new file mode 100644 index 00000000..f97291ba --- /dev/null +++ b/ftplugin/eelixir.vim @@ -0,0 +1,91 @@ +" Vim filetype plugin +" Language: Embedded Elixir +" URL: https://github.com/elixir-lang/vim-elixir + +if exists("b:did_ftplugin") + finish +endif + +let s:save_cpo = &cpo +set cpo-=C + +let s:undo_ftplugin = "" +let s:browsefilter = "All Files (*.*)\t*.*\n" +let s:match_words = "" + +if !exists("g:eelixir_default_subtype") + let g:eelixir_default_subtype = "html" +endif + +if !exists("b:eelixir_subtype") + let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$") + let b:eelixir_subtype = matchstr(s:lines,'eelixir_subtype=\zs\w\+') + if b:eelixir_subtype == '' + let b:eelixir_subtype = matchstr(&filetype,'^eex\.\zs\w\+') + endif + if b:eelixir_subtype == '' + let b:eelixir_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.eex\|\.eelixir\)\+$','',''),'\.\zs\w\+$') + endif + if b:eelixir_subtype == 'ex' + let b:eelixir_subtype = 'elixir' + elseif b:eelixir_subtype == 'exs' + let b:eelixir_subtype = 'elixir' + elseif b:eelixir_subtype == 'yml' + let b:eelixir_subtype = 'yaml' + elseif b:eelixir_subtype == 'js' + let b:eelixir_subtype = 'javascript' + elseif b:eelixir_subtype == 'txt' + " Conventional; not a real file type + let b:eelixir_subtype = 'text' + elseif b:eelixir_subtype == '' + let b:eelixir_subtype = g:eelixir_default_subtype + endif +endif + +if exists("b:eelixir_subtype") && b:eelixir_subtype != '' + exe "runtime! ftplugin/".b:eelixir_subtype.".vim ftplugin/".b:eelixir_subtype."_*.vim ftplugin/".b:eelixir_subtype."/*.vim" +else + runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim +endif +unlet! b:did_ftplugin + +" Override our defaults if these were set by an included ftplugin. +if exists("b:undo_ftplugin") + let s:undo_ftplugin = b:undo_ftplugin + unlet b:undo_ftplugin +endif +if exists("b:browsefilter") + let s:browsefilter = b:browsefilter + unlet b:browsefilter +endif +if exists("b:match_words") + let s:match_words = b:match_words + unlet b:match_words +endif + +runtime! ftplugin/elixir.vim ftplugin/elixir_*.vim ftplugin/elixir/*.vim +let b:did_ftplugin = 1 + +" Combine the new set of values with those previously included. +if exists("b:undo_ftplugin") + let s:undo_ftplugin = b:undo_ftplugin . " | " . s:undo_ftplugin +endif +if exists ("b:browsefilter") + let s:browsefilter = substitute(b:browsefilter,'\cAll Files (\*\.\*)\t\*\.\*\n','','') . s:browsefilter +endif +if exists("b:match_words") + let s:match_words = b:match_words . ',' . s:match_words +endif + +" Load the combined list of match_words for matchit.vim +if exists("loaded_matchit") + let b:match_words = s:match_words +endif + +setlocal comments=:<%# +setlocal commentstring=<%#\ %s\ %> + +let b:undo_ftplugin = "setl cms< " + \ " | unlet! b:browsefilter b:match_words | " . s:undo_ftplugin + +let &cpo = s:save_cpo |