elmfilt.vim (2937B)
1 " Vim syntax file 2 " Language: Elm Filter rules 3 " Maintainer: This runtime file is looking for a new maintainer. 4 " Former Maintainer: Charles E. Campbell 5 " Last Change: Aug 31, 2016 6 " Version: 9 7 " Former URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_ELMFILT 8 9 " quit when a syntax file was already loaded 10 if exists("b:current_syntax") 11 finish 12 endif 13 14 syn cluster elmfiltIfGroup contains=elmfiltCond,elmfiltOper,elmfiltOperKey,,elmfiltNumber,elmfiltOperKey 15 16 syn match elmfiltParenError "[()]" 17 syn match elmfiltMatchError "/" 18 syn region elmfiltIf start="\<if\>" end="\<then\>" contains=elmfiltParen,elmfiltParenError skipnl skipwhite nextgroup=elmfiltAction 19 syn region elmfiltParen contained matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=elmfiltParen,@elmfiltIfGroup,elmfiltThenError 20 syn region elmfiltMatch contained matchgroup=Delimiter start="/" skip="\\/" matchgroup=Delimiter end="/" skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey 21 syn match elmfiltThenError "\<then.*$" 22 syn match elmfiltComment "^#.*$" contains=@Spell 23 24 syn keyword elmfiltAction contained delete execute executec forward forwardc leave save savecopy skipnl skipwhite nextgroup=elmfiltString 25 syn match elmfiltArg contained "[^\\]%[&0-9dDhmrsSty&]"lc=1 26 27 syn match elmfiltOperKey contained "\<contains\>" skipnl skipwhite nextgroup=elmfiltString 28 syn match elmfiltOperKey contained "\<matches\s" nextgroup=elmfiltMatch,elmfiltSpaceError 29 syn keyword elmfiltCond contained cc bcc lines always subject sender from to lines received skipnl skipwhite nextgroup=elmfiltString 30 syn match elmfiltNumber contained "\d\+" 31 syn keyword elmfiltOperKey contained and not skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey,elmfiltString 32 syn match elmfiltOper contained "\~" skipnl skipwhite nextgroup=elmfiltMatch 33 syn match elmfiltOper contained "<=\|>=\|!=\|<\|<\|=" skipnl skipwhite nextgroup=elmfiltString,elmfiltCond,elmfiltOperKey 34 syn region elmfiltString contained start='"' skip='"\(\\\\\)*\\["%]' end='"' contains=elmfiltArg skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey,@Spell 35 syn region elmfiltString contained start="'" skip="'\(\\\\\)*\\['%]" end="'" contains=elmfiltArg skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey,@Spell 36 syn match elmfiltSpaceError contained "\s.*$" 37 38 " Define the default highlighting. 39 if !exists("skip_elmfilt_syntax_inits") 40 41 hi def link elmfiltAction Statement 42 hi def link elmfiltArg Special 43 hi def link elmfiltComment Comment 44 hi def link elmfiltCond Statement 45 hi def link elmfiltIf Statement 46 hi def link elmfiltMatch Special 47 hi def link elmfiltMatchError Error 48 hi def link elmfiltNumber Number 49 hi def link elmfiltOper Operator 50 hi def link elmfiltOperKey Type 51 hi def link elmfiltParenError Error 52 hi def link elmfiltSpaceError Error 53 hi def link elmfiltString String 54 hi def link elmfiltThenError Error 55 56 endif 57 58 let b:current_syntax = "elmfilt" 59 " vim: ts=9