mirror of
https://github.com/neovim/neovim.git
synced 2024-12-26 06:05:06 -07:00
93fb7383a3
Runtime file updates.
214641f77d
N/A:
vim-patch:26a280c47a1c
123 lines
5.2 KiB
VimL
123 lines
5.2 KiB
VimL
" Vim syntax file
|
|
" Language: RFC 2614 - An API for Service Location registration file
|
|
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
|
" Latest Revision: 2006-04-19
|
|
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
let s:cpo_save = &cpo
|
|
set cpo&vim
|
|
|
|
syn keyword slpregTodo contained TODO FIXME XXX NOTE
|
|
|
|
syn region slpregComment display oneline start='^[#;]' end='$'
|
|
\ contains=slpregTodo,@Spell
|
|
|
|
syn match slpregBegin display '^'
|
|
\ nextgroup=slpregServiceURL,
|
|
\ slpregComment
|
|
|
|
syn match slpregServiceURL contained display 'service:'
|
|
\ nextgroup=slpregServiceType
|
|
|
|
syn match slpregServiceType contained display '\a[[:alpha:][:digit:]+-]*\%(\.\a[[:alpha:][:digit:]+-]*\)\=\%(:\a[[:alpha:][:digit:]+-]*\)\='
|
|
\ nextgroup=slpregServiceSAPCol
|
|
|
|
syn match slpregServiceSAPCol contained display ':'
|
|
\ nextgroup=slpregSAP
|
|
|
|
syn match slpregSAP contained '[^,]\+'
|
|
\ nextgroup=slpregLangSep
|
|
"syn match slpregSAP contained display '\%(//\%(\%([[:alpha:][:digit:]$-_.~!*\'(),+;&=]*@\)\=\%([[:alnum:]][[:alnum:]-]*[[:alnum:]]\|[[:alnum:]]\.\)*\%(\a[[:alnum:]-]*[[:alnum:]]\|\a\)\%(:\d\+\)\=\)\=\|/at/\%([[:alpha:][:digit:]$-_.~]\|\\\x\x\)\{1,31}:\%([[:alpha:][:digit:]$-_.~]\|\\\x\x\)\{1,31}\%([[:alpha:][:digit:]$-_.~]\|\\\x\x\)\{1,31}\|/ipx/\x\{8}:\x\{12}:\x\{4}\)\%(/\%([[:alpha:][:digit:]$-_.~!*\'()+;?:@&=+]\|\\\x\x\)*\)*\%(;[^()\\!<=>~[:cntrl:]* \t_]\+\%(=[^()\\!<=>~[:cntrl:] ]\+\)\=\)*'
|
|
|
|
syn match slpregLangSep contained display ','
|
|
\ nextgroup=slpregLang
|
|
|
|
syn match slpregLang contained display '\a\{1,8}\%(-\a\{1,8\}\)\='
|
|
\ nextgroup=slpregLTimeSep
|
|
|
|
syn match slpregLTimeSep contained display ','
|
|
\ nextgroup=slpregLTime
|
|
|
|
syn match slpregLTime contained display '\d\{1,5}'
|
|
\ nextgroup=slpregType,slpregUNewline
|
|
|
|
syn match slpregType contained display '\a[[:alpha:][:digit:]+-]*'
|
|
\ nextgroup=slpregUNewLine
|
|
|
|
syn match slpregUNewLine contained '\s*\n'
|
|
\ nextgroup=slpregScopes,slpregAttrList skipnl
|
|
|
|
syn keyword slpregScopes contained scopes
|
|
\ nextgroup=slpregScopesEq
|
|
|
|
syn match slpregScopesEq contained '=' nextgroup=slpregScopeName
|
|
|
|
syn match slpregScopeName contained '[^(),\\!<=>[:cntrl:];*+ ]\+'
|
|
\ nextgroup=slpregScopeNameSep,
|
|
\ slpregScopeNewline
|
|
|
|
syn match slpregScopeNameSep contained ','
|
|
\ nextgroup=slpregScopeName
|
|
|
|
syn match slpregScopeNewline contained '\s*\n'
|
|
\ nextgroup=slpregAttribute skipnl
|
|
|
|
syn match slpregAttribute contained '[^(),\\!<=>[:cntrl:]* \t_]\+'
|
|
\ nextgroup=slpregAttributeEq,
|
|
\ slpregScopeNewline
|
|
|
|
syn match slpregAttributeEq contained '='
|
|
\ nextgroup=@slpregAttrValue
|
|
|
|
syn cluster slpregAttrValueCon contains=slpregAttribute,slpregAttrValueSep
|
|
|
|
syn cluster slpregAttrValue contains=slpregAttrIValue,slpregAttrSValue,
|
|
\ slpregAttrBValue,slpregAttrSSValue
|
|
|
|
syn match slpregAttrSValue contained display '[^(),\\!<=>~[:cntrl:]]\+'
|
|
\ nextgroup=@slpregAttrValueCon skipwhite skipnl
|
|
|
|
syn match slpregAttrSSValue contained display '\\FF\%(\\\x\x\)\+'
|
|
\ nextgroup=@slpregAttrValueCon skipwhite skipnl
|
|
|
|
syn match slpregAttrIValue contained display '[-]\=\d\+\>'
|
|
\ nextgroup=@slpregAttrValueCon skipwhite skipnl
|
|
|
|
syn keyword slpregAttrBValue contained true false
|
|
\ nextgroup=@slpregAttrValueCon skipwhite skipnl
|
|
|
|
syn match slpregAttrValueSep contained display ','
|
|
\ nextgroup=@slpregAttrValue skipwhite skipnl
|
|
|
|
hi def link slpregTodo Todo
|
|
hi def link slpregComment Comment
|
|
hi def link slpregServiceURL Type
|
|
hi def link slpregServiceType slpregServiceURL
|
|
hi def link slpregServiceSAPCol slpregServiceURL
|
|
hi def link slpregSAP slpregServiceURL
|
|
hi def link slpregDelimiter Delimiter
|
|
hi def link slpregLangSep slpregDelimiter
|
|
hi def link slpregLang String
|
|
hi def link slpregLTimeSep slpregDelimiter
|
|
hi def link slpregLTime Number
|
|
hi def link slpregType Type
|
|
hi def link slpregScopes Identifier
|
|
hi def link slpregScopesEq Operator
|
|
hi def link slpregScopeName String
|
|
hi def link slpregScopeNameSep slpregDelimiter
|
|
hi def link slpregAttribute Identifier
|
|
hi def link slpregAttributeEq Operator
|
|
hi def link slpregAttrSValue String
|
|
hi def link slpregAttrSSValue slpregAttrSValue
|
|
hi def link slpregAttrIValue Number
|
|
hi def link slpregAttrBValue Boolean
|
|
hi def link slpregAttrValueSep slpregDelimiter
|
|
|
|
let b:current_syntax = "slpreg"
|
|
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|