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 / wml.vim < prev    next >
Encoding:
Text File  |  2010-08-15  |  6.3 KB  |  173 lines

  1. " Vim syntax file
  2. " Language:     WML - Website MetaLanguage
  3. " Maintainer:   Gerfried Fuchs <alfie@ist.org>
  4. " Filenames:    *.wml
  5. " Last Change:  07 Feb 2002
  6. " URL:        http://alfie.ist.org/software/vim/syntax/wml.vim
  7. "
  8. " Original Version: Craig Small <csmall@eye-net.com.au>
  9.  
  10. " Comments are very welcome - but please make sure that you are commenting on
  11. " the latest version of this file.
  12. " SPAM is _NOT_ welcome - be ready to be reported!
  13.  
  14. "  If you are looking for the "Wireless Markup Language" syntax file,
  15. "  please take a look at the wap.vim file done by Ralf Schandl, soon in a
  16. "  vim-package around your corner :)
  17.  
  18.  
  19. " For version 5.x: Clear all syntax items
  20. " For version 6.x: Quit when a syntax file was already loaded
  21. if version < 600
  22.   syn clear
  23. elseif exists("b:current_syntax")
  24.   finish
  25. endif
  26.  
  27.  
  28. " A lot of the web stuff looks like HTML so we load that first
  29. if version < 600
  30.   so <sfile>:p:h/html.vim
  31. else
  32.   runtime! syntax/html.vim
  33. endif
  34. unlet b:current_syntax
  35.  
  36. if !exists("main_syntax")
  37.   let main_syntax = 'wml'
  38. endif
  39.  
  40. " special character
  41. syn match wmlNextLine    "\\$"
  42.  
  43. " Redfine htmlTag
  44. syn clear htmlTag
  45. syn region  htmlTag  start=+<[^/<]+ end=+>+  contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition
  46.  
  47. "
  48. " Add in extra Arguments used by wml
  49. syn keyword htmlTagName contained gfont imgbg imgdot lowsrc
  50. syn keyword htmlTagName contained navbar:define navbar:header
  51. syn keyword htmlTagName contained navbar:footer navbar:prolog
  52. syn keyword htmlTagName contained navbar:epilog navbar:button
  53. syn keyword htmlTagName contained navbar:filter navbar:debug
  54. syn keyword htmlTagName contained navbar:render
  55. syn keyword htmlTagName contained preload rollover
  56. syn keyword htmlTagName contained space hspace vspace over
  57. syn keyword htmlTagName contained ps ds pi ein big sc spaced headline
  58. syn keyword htmlTagName contained ue subheadline zwue verbcode
  59. syn keyword htmlTagName contained isolatin pod sdf text url verbatim
  60. syn keyword htmlTagName contained xtable
  61. syn keyword htmlTagName contained csmap fsview import box
  62. syn keyword htmlTagName contained case:upper case:lower
  63. syn keyword htmlTagName contained grid cell info lang: logo page
  64. syn keyword htmlTagName contained set-var restore
  65. syn keyword htmlTagName contained array:push array:show set-var ifdef
  66. syn keyword htmlTagName contained say m4 symbol dump enter divert
  67. syn keyword htmlTagName contained toc
  68. syn keyword htmlTagName contained wml card do refresh oneevent catch spawn
  69.  
  70. "
  71. " The wml arguments
  72. syn keyword htmlArg contained adjust background base bdcolor bdspace
  73. syn keyword htmlArg contained bdwidth complete copyright created crop
  74. syn keyword htmlArg contained direction description domainname eperlfilter
  75. syn keyword htmlArg contained file hint imgbase imgstar interchar interline
  76. syn keyword htmlArg contained keephr keepindex keywords layout spacing
  77. syn keyword htmlArg contained padding nonetscape noscale notag notypo
  78. syn keyword htmlArg contained onload oversrc pos select slices style
  79. syn keyword htmlArg contained subselected txtcol_select txtcol_normal
  80. syn keyword htmlArg contained txtonly via
  81. syn keyword htmlArg contained mode columns localsrc ordered
  82.  
  83.  
  84. " Lines starting with an # are usually comments
  85. syn match   wmlComment     "^\s*#.*"
  86. " The different exceptions to comments
  87. syn match   wmlSharpBang   "^#!.*"
  88. syn match   wmlUsed       contained "\s\s*[A-Za-z:_-]*"
  89. syn match   wmlUse       "^\s*#\s*use\s\+" contains=wmlUsed
  90. syn match   wmlInclude       "^\s*#\s*include.+"
  91.  
  92. syn region  wmlBody       contained start=+<<+ end=+>>+
  93.  
  94. syn match   wmlLocationId  contained "[A-Za-z]\+"
  95. syn region  wmlLocation    start=+<<+ end=+>>+ contains=wmlLocationId
  96. "syn region  wmlLocation    start=+{#+ end=+#}+ contains=wmlLocationId
  97. "syn region  wmlLocationed  contained start=+<<+ end=+>>+ contains=wmlLocationId
  98.  
  99. syn match   wmlDivert      "\.\.[a-zA-Z_]\+>>"
  100. syn match   wmlDivertEnd   "<<\.\."
  101. " new version
  102. "syn match   wmlDivert      "{#[a-zA-Z_]\+#:"
  103. "syn match   wmlDivertEnd   ":##}"
  104.  
  105. syn match   wmlDefineName  contained "\s\+[A-Za-z-]\+"
  106. syn region  htmlTagName    start="\<\(define-tag\|define-region\)" end="\>" contains=wmlDefineName
  107.  
  108. " The perl include stuff
  109. if main_syntax != 'perl'
  110.   " Perl script
  111.   if version < 600
  112.     syn include @wmlPerlScript <sfile>:p:h/perl.vim
  113.   else
  114.     syn include @wmlPerlScript syntax/perl.vim
  115.   endif
  116.   unlet b:current_syntax
  117.  
  118.   syn region perlScript   start=+<perl>+ keepend end=+</perl>+ contains=@wmlPerlScript,wmlPerlTag
  119. " eperl between '<:' and ':>'  -- Alfie [1999-12-26]
  120.   syn region perlScript   start=+<:+ keepend end=+:>+ contains=@wmlPerlScript,wmlPerlTag
  121.   syn match    wmlPerlTag  contained "</*perl>" contains=wmlPerlTagN
  122.   syn keyword  wmlPerlTagN contained perl
  123.  
  124.   hi link   wmlPerlTag  htmlTag
  125.   hi link   wmlPerlTagN htmlStatement
  126. endif
  127.  
  128. " verbatim tags -- don't highlight anything in between  -- Alfie [2002-02-07]
  129. syn region  wmlVerbatimText start=+<verbatim>+ keepend end=+</verbatim>+ contains=wmlVerbatimTag
  130. syn match   wmlVerbatimTag  contained "</*verbatim>" contains=wmlVerbatimTagN
  131. syn keyword wmlVerbatimTagN contained verbatim
  132. hi link     wmlVerbatimTag  htmlTag
  133. hi link     wmlVerbatimTagN htmlStatement
  134.  
  135. if main_syntax == "html"
  136.   syn sync match wmlHighlight groupthere NONE "</a-zA-Z]"
  137.   syn sync match wmlHighlight groupthere perlScript "<perl>"
  138.   syn sync match wmlHighlightSkip "^.*['\"].*$"
  139.   syn sync minlines=10
  140. endif
  141.  
  142. " Define the default highlighting.
  143. " For version 5.7 and earlier: only when not done already
  144. " For version 5.8 and later: only when an item doesn't have highlighting yet
  145. if version >= 508 || !exists("did_wml_syn_inits")
  146.   let did_wml_syn_inits = 1
  147.   if version < 508
  148.     let did_wml_syn_inits = 1
  149.     command -nargs=+ HiLink hi link <args>
  150.   else
  151.     command -nargs=+ HiLink hi def link <args>
  152.   endif
  153.  
  154.   HiLink wmlNextLine    Special
  155.   HiLink wmlUse        Include
  156.   HiLink wmlUsed    String
  157.   HiLink wmlBody    Special
  158.   HiLink wmlDiverted    Label
  159.   HiLink wmlDivert    Delimiter
  160.   HiLink wmlDivertEnd    Delimiter
  161.   HiLink wmlLocationId    Label
  162.   HiLink wmlLocation    Delimiter
  163. " HiLink wmlLocationed    Delimiter
  164.   HiLink wmlDefineName    String
  165.   HiLink wmlComment    Comment
  166.   HiLink wmlInclude    Include
  167.   HiLink wmlSharpBang    PreProc
  168.  
  169.   delcommand HiLink
  170. endif
  171.  
  172. let b:current_syntax = "wml"
  173.