home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / dos / syntax / slpreg.vim < prev    next >
Encoding:
Text File  |  2010-08-15  |  5.3 KB  |  123 lines

  1. " Vim syntax file
  2. " Language:         RFC 2614 - An API for Service Location registration file
  3. " Maintainer:       Nikolai Weibull <now@bitwi.se>
  4. " Latest Revision:  2006-04-19
  5.  
  6. if exists("b:current_syntax")
  7.   finish
  8. endif
  9.  
  10. let s:cpo_save = &cpo
  11. set cpo&vim
  12.  
  13. syn keyword slpregTodo          contained TODO FIXME XXX NOTE
  14.  
  15. syn region  slpregComment       display oneline start='^[#;]' end='$'
  16.                                 \ contains=slpregTodo,@Spell
  17.  
  18. syn match   slpregBegin         display '^'
  19.                                 \ nextgroup=slpregServiceURL,
  20.                                 \ slpregComment
  21.  
  22. syn match   slpregServiceURL    contained display 'service:'
  23.                                 \ nextgroup=slpregServiceType
  24.  
  25. syn match   slpregServiceType   contained display '\a[[:alpha:][:digit:]+-]*\%(\.\a[[:alpha:][:digit:]+-]*\)\=\%(:\a[[:alpha:][:digit:]+-]*\)\='
  26.                                 \ nextgroup=slpregServiceSAPCol
  27.  
  28. syn match   slpregServiceSAPCol contained display ':'
  29.                                 \ nextgroup=slpregSAP
  30.  
  31. syn match   slpregSAP           contained '[^,]\+'
  32.                                 \ nextgroup=slpregLangSep
  33. "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:] ]\+\)\=\)*'
  34.  
  35. syn match   slpregLangSep       contained display ','
  36.                                 \ nextgroup=slpregLang
  37.  
  38. syn match   slpregLang          contained display '\a\{1,8}\%(-\a\{1,8\}\)\='
  39.                                 \ nextgroup=slpregLTimeSep
  40.  
  41. syn match   slpregLTimeSep      contained display ','
  42.                                 \ nextgroup=slpregLTime
  43.  
  44. syn match   slpregLTime         contained display '\d\{1,5}'
  45.                                 \ nextgroup=slpregType,slpregUNewline
  46.  
  47. syn match   slpregType          contained display '\a[[:alpha:][:digit:]+-]*'
  48.                                 \ nextgroup=slpregUNewLine
  49.  
  50. syn match   slpregUNewLine      contained '\s*\n'
  51.                                 \ nextgroup=slpregScopes,slpregAttrList skipnl
  52.  
  53. syn keyword slpregScopes        contained scopes
  54.                                 \ nextgroup=slpregScopesEq
  55.  
  56. syn match   slpregScopesEq      contained '=' nextgroup=slpregScopeName
  57.  
  58. syn match   slpregScopeName     contained '[^(),\\!<=>[:cntrl:];*+ ]\+'
  59.                                 \ nextgroup=slpregScopeNameSep,
  60.                                 \ slpregScopeNewline
  61.  
  62. syn match   slpregScopeNameSep  contained ','
  63.                                 \ nextgroup=slpregScopeName
  64.  
  65. syn match   slpregScopeNewline  contained '\s*\n'
  66.                                 \ nextgroup=slpregAttribute skipnl
  67.  
  68. syn match   slpregAttribute     contained '[^(),\\!<=>[:cntrl:]* \t_]\+'
  69.                                 \ nextgroup=slpregAttributeEq,
  70.                                 \ slpregScopeNewline
  71.  
  72. syn match   slpregAttributeEq   contained '='
  73.                                 \ nextgroup=@slpregAttrValue
  74.  
  75. syn cluster slpregAttrValueCon  contains=slpregAttribute,slpregAttrValueSep
  76.  
  77. syn cluster slpregAttrValue     contains=slpregAttrIValue,slpregAttrSValue,
  78.                                 \ slpregAttrBValue,slpregAttrSSValue
  79.  
  80. syn match   slpregAttrSValue    contained display '[^(),\\!<=>~[:cntrl:]]\+'
  81.                                 \ nextgroup=@slpregAttrValueCon skipwhite skipnl
  82.  
  83. syn match   slpregAttrSSValue   contained display '\\FF\%(\\\x\x\)\+'
  84.                                 \ nextgroup=@slpregAttrValueCon skipwhite skipnl
  85.  
  86. syn match   slpregAttrIValue    contained display '[-]\=\d\+\>'
  87.                                 \ nextgroup=@slpregAttrValueCon skipwhite skipnl
  88.  
  89. syn keyword slpregAttrBValue    contained true false
  90.                                 \ nextgroup=@slpregAttrValueCon skipwhite skipnl
  91.  
  92. syn match   slpregAttrValueSep  contained display ','
  93.                                 \ nextgroup=@slpregAttrValue skipwhite skipnl
  94.  
  95. hi def link slpregTodo          Todo
  96. hi def link slpregComment       Comment
  97. hi def link slpregServiceURL    Type
  98. hi def link slpregServiceType   slpregServiceURL
  99. hi def link slpregServiceSAPCol slpregServiceURL
  100. hi def link slpregSAP           slpregServiceURL
  101. hi def link slpregDelimiter     Delimiter
  102. hi def link slpregLangSep       slpregDelimiter
  103. hi def link slpregLang          String
  104. hi def link slpregLTimeSep      slpregDelimiter
  105. hi def link slpregLTime         Number
  106. hi def link slpregType          Type
  107. hi def link slpregScopes        Identifier
  108. hi def link slpregScopesEq      Operator
  109. hi def link slpregScopeName     String
  110. hi def link slpregScopeNameSep  slpregDelimiter
  111. hi def link slpregAttribute     Identifier
  112. hi def link slpregAttributeEq   Operator
  113. hi def link slpregAttrSValue    String
  114. hi def link slpregAttrSSValue   slpregAttrSValue
  115. hi def link slpregAttrIValue    Number
  116. hi def link slpregAttrBValue    Boolean
  117. hi def link slpregAttrValueSep  slpregDelimiter
  118.  
  119. let b:current_syntax = "slpreg"
  120.  
  121. let &cpo = s:cpo_save
  122. unlet s:cpo_save
  123.