diff --git a/extra/vim/ftdetect/propane.vim b/extra/vim/ftdetect/propane.vim new file mode 100644 index 0000000..60bbac5 --- /dev/null +++ b/extra/vim/ftdetect/propane.vim @@ -0,0 +1 @@ +au BufNewFile,BufRead *.propane set filetype=propane diff --git a/extra/vim/syntax/propane.vim b/extra/vim/syntax/propane.vim new file mode 100644 index 0000000..83419df --- /dev/null +++ b/extra/vim/syntax/propane.vim @@ -0,0 +1,28 @@ +" Vim syntax file for Propane +" Language: propane +" Maintainer: Josh Holtrop +" URL: https://github.com/holtrop/propane + +if exists("b:current_syntax") + finish +endif + +if !exists("b:propane_subtype") + let b:propane_subtype = "d" +endif + +exe "syn include @propaneTarget syntax/".b:propane_subtype.".vim" + +syn region propaneTarget matchgroup=propaneDelimiter start="<<" end=">>$" contains=@propaneTarget keepend + +syn match propaneComment "#.*" +syn match propaneOperator "->" +syn keyword propaneKeyword ast ast_prefix ast_suffix drop module prefix ptype start token tokenid + +syn region propaneRegex start="/" end="/" skip="\\/" + +hi def link propaneComment Comment +hi def link propaneKeyword Keyword +hi def link propaneRegex String +hi def link propaneOperator Operator +hi def link propaneDelimiter Delimiter