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 / aap.vim < prev    next >
Encoding:
Text File  |  2010-08-15  |  5.7 KB  |  159 lines

  1. " Vim syntax file
  2. " Language:    A-A-P recipe
  3. " Maintainer:    Bram Moolenaar <Bram@vim.org>
  4. " Last Change:    2004 Jun 13
  5.  
  6. " Quit when a syntax file was already loaded
  7. if exists("b:current_syntax")
  8.     finish
  9. endif
  10.  
  11. let s:cpo_save = &cpo
  12. set cpo&vim
  13.  
  14. syn include @aapPythonScript syntax/python.vim
  15.  
  16. syn match       aapVariable /$[-+?*="'\\!]*[a-zA-Z0-9_.]*/
  17. syn match       aapVariable /$[-+?*="'\\!]*([a-zA-Z0-9_.]*)/
  18. syn keyword    aapTodo contained TODO Todo
  19. syn match    aapString +'[^']\{-}'+
  20. syn match    aapString +"[^"]\{-}"+
  21.  
  22. syn match    aapCommand '^\s*:action\>'
  23. syn match    aapCommand '^\s*:add\>'
  24. syn match    aapCommand '^\s*:addall\>'
  25. syn match    aapCommand '^\s*:asroot\>'
  26. syn match    aapCommand '^\s*:assertpkg\>'
  27. syn match    aapCommand '^\s*:attr\>'
  28. syn match    aapCommand '^\s*:attribute\>'
  29. syn match    aapCommand '^\s*:autodepend\>'
  30. syn match    aapCommand '^\s*:buildcheck\>'
  31. syn match    aapCommand '^\s*:cd\>'
  32. syn match    aapCommand '^\s*:chdir\>'
  33. syn match    aapCommand '^\s*:checkin\>'
  34. syn match    aapCommand '^\s*:checkout\>'
  35. syn match    aapCommand '^\s*:child\>'
  36. syn match    aapCommand '^\s*:chmod\>'
  37. syn match    aapCommand '^\s*:commit\>'
  38. syn match    aapCommand '^\s*:commitall\>'
  39. syn match    aapCommand '^\s*:conf\>'
  40. syn match    aapCommand '^\s*:copy\>'
  41. syn match    aapCommand '^\s*:del\>'
  42. syn match    aapCommand '^\s*:deldir\>'
  43. syn match    aapCommand '^\s*:delete\>'
  44. syn match    aapCommand '^\s*:delrule\>'
  45. syn match    aapCommand '^\s*:dll\>'
  46. syn match    aapCommand '^\s*:do\>'
  47. syn match    aapCommand '^\s*:error\>'
  48. syn match    aapCommand '^\s*:execute\>'
  49. syn match    aapCommand '^\s*:exit\>'
  50. syn match    aapCommand '^\s*:export\>'
  51. syn match    aapCommand '^\s*:fetch\>'
  52. syn match    aapCommand '^\s*:fetchall\>'
  53. syn match    aapCommand '^\s*:filetype\>'
  54. syn match    aapCommand '^\s*:finish\>'
  55. syn match    aapCommand '^\s*:global\>'
  56. syn match    aapCommand '^\s*:import\>'
  57. syn match    aapCommand '^\s*:include\>'
  58. syn match    aapCommand '^\s*:installpkg\>'
  59. syn match    aapCommand '^\s*:lib\>'
  60. syn match    aapCommand '^\s*:local\>'
  61. syn match    aapCommand '^\s*:log\>'
  62. syn match    aapCommand '^\s*:ltlib\>'
  63. syn match    aapCommand '^\s*:mkdir\>'
  64. syn match    aapCommand '^\s*:mkdownload\>'
  65. syn match    aapCommand '^\s*:move\>'
  66. syn match    aapCommand '^\s*:pass\>'
  67. syn match    aapCommand '^\s*:popdir\>'
  68. syn match    aapCommand '^\s*:produce\>'
  69. syn match    aapCommand '^\s*:program\>'
  70. syn match    aapCommand '^\s*:progsearch\>'
  71. syn match    aapCommand '^\s*:publish\>'
  72. syn match    aapCommand '^\s*:publishall\>'
  73. syn match    aapCommand '^\s*:pushdir\>'
  74. syn match    aapCommand '^\s*:quit\>'
  75. syn match    aapCommand '^\s*:recipe\>'
  76. syn match    aapCommand '^\s*:refresh\>'
  77. syn match    aapCommand '^\s*:remove\>'
  78. syn match    aapCommand '^\s*:removeall\>'
  79. syn match    aapCommand '^\s*:require\>'
  80. syn match    aapCommand '^\s*:revise\>'
  81. syn match    aapCommand '^\s*:reviseall\>'
  82. syn match    aapCommand '^\s*:route\>'
  83. syn match    aapCommand '^\s*:rule\>'
  84. syn match    aapCommand '^\s*:start\>'
  85. syn match    aapCommand '^\s*:symlink\>'
  86. syn match    aapCommand '^\s*:sys\>'
  87. syn match    aapCommand '^\s*:sysdepend\>'
  88. syn match    aapCommand '^\s*:syspath\>'
  89. syn match    aapCommand '^\s*:system\>'
  90. syn match    aapCommand '^\s*:tag\>'
  91. syn match    aapCommand '^\s*:tagall\>'
  92. syn match    aapCommand '^\s*:toolsearch\>'
  93. syn match    aapCommand '^\s*:totype\>'
  94. syn match    aapCommand '^\s*:touch\>'
  95. syn match    aapCommand '^\s*:tree\>'
  96. syn match    aapCommand '^\s*:unlock\>'
  97. syn match    aapCommand '^\s*:update\>'
  98. syn match    aapCommand '^\s*:usetool\>'
  99. syn match    aapCommand '^\s*:variant\>'
  100. syn match    aapCommand '^\s*:verscont\>'
  101.  
  102. syn match    aapCommand '^\s*:print\>' nextgroup=aapPipeEnd
  103. syn match    aapPipeCmd '\s*:print\>' nextgroup=aapPipeEnd contained
  104. syn match    aapCommand '^\s*:cat\>' nextgroup=aapPipeEnd
  105. syn match    aapPipeCmd '\s*:cat\>' nextgroup=aapPipeEnd contained
  106. syn match    aapCommand '^\s*:syseval\>' nextgroup=aapPipeEnd
  107. syn match    aapPipeCmd '\s*:syseval\>' nextgroup=aapPipeEnd contained
  108. syn match    aapPipeCmd '\s*:assign\>' contained
  109. syn match    aapCommand '^\s*:eval\>' nextgroup=aapPipeEnd
  110. syn match    aapPipeCmd '\s*:eval\>' nextgroup=aapPipeEndPy contained
  111. syn match    aapPipeCmd '\s*:tee\>' nextgroup=aapPipeEnd contained
  112. syn match    aapPipeCmd '\s*:log\>' nextgroup=aapPipeEnd contained
  113. syn match    aapPipeEnd '[^|]*|' nextgroup=aapPipeCmd contained skipnl
  114. syn match    aapPipeEndPy '[^|]*|' nextgroup=aapPipeCmd contained skipnl contains=@aapPythonScript
  115. syn match    aapPipeStart '^\s*|' nextgroup=aapPipeCmd
  116.  
  117. "
  118. " A Python line starts with @.  Can be continued with a trailing backslash.
  119. syn region aapPythonRegion start="\s*@" skip='\\$' end=+$+ contains=@aapPythonScript keepend
  120. "
  121. " A Python block starts with ":python" and continues so long as the indent is
  122. " bigger.
  123. syn region aapPythonRegion matchgroup=aapCommand start="\z(\s*\):python" skip='\n\z1\s\|\n\s*\n' end=+$+ contains=@aapPythonScript
  124.  
  125. " A Python expression is enclosed in backticks.
  126. syn region aapPythonRegion start="`" skip="``" end="`" contains=@aapPythonScript
  127.  
  128. " TODO: There is something wrong with line continuation.
  129. syn match    aapComment '#.*' contains=aapTodo
  130. syn match    aapComment '#.*\(\\\n.*\)' contains=aapTodo
  131.  
  132. syn match    aapSpecial '$#'
  133. syn match    aapSpecial '$\$'
  134. syn match    aapSpecial '$(.)'
  135.  
  136. " A heredoc assignment.
  137. syn region aapHeredoc start="^\s*\k\+\s*$\=+\=?\=<<\s*\z(\S*\)"hs=e+1 end="^\s*\z1\s*$"he=s-1
  138.  
  139. " Syncing is needed for ":python" and "VAR << EOF".  Don't use Python syncing
  140. syn sync clear
  141. syn sync fromstart
  142.  
  143. " The default highlighting.
  144. hi def link aapTodo        Todo
  145. hi def link aapString        String
  146. hi def link aapComment        Comment
  147. hi def link aapSpecial        Special
  148. hi def link aapVariable        Identifier
  149. hi def link aapPipeCmd        aapCommand
  150. hi def link aapCommand        Statement
  151. hi def link aapHeredoc        Constant
  152.  
  153. let b:current_syntax = "aap"
  154.  
  155. let &cpo = s:cpo_save
  156. unlet s:cpo_save
  157.  
  158. " vim: ts=8
  159.