158 lines · 5.6 KB · Text
RawDownload
" Vim syntax file" Language:	A-A-P recipe" Maintainer:	Bram Moolenaar <Bram@vim.org>" Last Change:	2004 Jun 13 " Quit when a syntax file was already loadedif exists("b:current_syntax")    finishendif let s:cpo_save = &cposet cpo&vim syn include @aapPythonScript syntax/python.vim syn match       aapVariable /$[-+?*="'\\!]*[a-zA-Z0-9_.]*/syn match       aapVariable /$[-+?*="'\\!]*([a-zA-Z0-9_.]*)/syn keyword	aapTodo contained TODO Todosyn match	aapString +'[^']\{-}'+syn match	aapString +"[^"]\{-}"+ syn match	aapCommand '^\s*:action\>'syn match	aapCommand '^\s*:add\>'syn match	aapCommand '^\s*:addall\>'syn match	aapCommand '^\s*:asroot\>'syn match	aapCommand '^\s*:assertpkg\>'syn match	aapCommand '^\s*:attr\>'syn match	aapCommand '^\s*:attribute\>'syn match	aapCommand '^\s*:autodepend\>'syn match	aapCommand '^\s*:buildcheck\>'syn match	aapCommand '^\s*:cd\>'syn match	aapCommand '^\s*:chdir\>'syn match	aapCommand '^\s*:checkin\>'syn match	aapCommand '^\s*:checkout\>'syn match	aapCommand '^\s*:child\>'syn match	aapCommand '^\s*:chmod\>'syn match	aapCommand '^\s*:commit\>'syn match	aapCommand '^\s*:commitall\>'syn match	aapCommand '^\s*:conf\>'syn match	aapCommand '^\s*:copy\>'syn match	aapCommand '^\s*:del\>'syn match	aapCommand '^\s*:deldir\>'syn match	aapCommand '^\s*:delete\>'syn match	aapCommand '^\s*:delrule\>'syn match	aapCommand '^\s*:dll\>'syn match	aapCommand '^\s*:do\>'syn match	aapCommand '^\s*:error\>'syn match	aapCommand '^\s*:execute\>'syn match	aapCommand '^\s*:exit\>'syn match	aapCommand '^\s*:export\>'syn match	aapCommand '^\s*:fetch\>'syn match	aapCommand '^\s*:fetchall\>'syn match	aapCommand '^\s*:filetype\>'syn match	aapCommand '^\s*:finish\>'syn match	aapCommand '^\s*:global\>'syn match	aapCommand '^\s*:import\>'syn match	aapCommand '^\s*:include\>'syn match	aapCommand '^\s*:installpkg\>'syn match	aapCommand '^\s*:lib\>'syn match	aapCommand '^\s*:local\>'syn match	aapCommand '^\s*:log\>'syn match	aapCommand '^\s*:ltlib\>'syn match	aapCommand '^\s*:mkdir\>'syn match	aapCommand '^\s*:mkdownload\>'syn match	aapCommand '^\s*:move\>'syn match	aapCommand '^\s*:pass\>'syn match	aapCommand '^\s*:popdir\>'syn match	aapCommand '^\s*:produce\>'syn match	aapCommand '^\s*:program\>'syn match	aapCommand '^\s*:progsearch\>'syn match	aapCommand '^\s*:publish\>'syn match	aapCommand '^\s*:publishall\>'syn match	aapCommand '^\s*:pushdir\>'syn match	aapCommand '^\s*:quit\>'syn match	aapCommand '^\s*:recipe\>'syn match	aapCommand '^\s*:refresh\>'syn match	aapCommand '^\s*:remove\>'syn match	aapCommand '^\s*:removeall\>'syn match	aapCommand '^\s*:require\>'syn match	aapCommand '^\s*:revise\>'syn match	aapCommand '^\s*:reviseall\>'syn match	aapCommand '^\s*:route\>'syn match	aapCommand '^\s*:rule\>'syn match	aapCommand '^\s*:start\>'syn match	aapCommand '^\s*:symlink\>'syn match	aapCommand '^\s*:sys\>'syn match	aapCommand '^\s*:sysdepend\>'syn match	aapCommand '^\s*:syspath\>'syn match	aapCommand '^\s*:system\>'syn match	aapCommand '^\s*:tag\>'syn match	aapCommand '^\s*:tagall\>'syn match	aapCommand '^\s*:toolsearch\>'syn match	aapCommand '^\s*:totype\>'syn match	aapCommand '^\s*:touch\>'syn match	aapCommand '^\s*:tree\>'syn match	aapCommand '^\s*:unlock\>'syn match	aapCommand '^\s*:update\>'syn match	aapCommand '^\s*:usetool\>'syn match	aapCommand '^\s*:variant\>'syn match	aapCommand '^\s*:verscont\>' syn match	aapCommand '^\s*:print\>' nextgroup=aapPipeEndsyn match	aapPipeCmd '\s*:print\>' nextgroup=aapPipeEnd containedsyn match	aapCommand '^\s*:cat\>' nextgroup=aapPipeEndsyn match	aapPipeCmd '\s*:cat\>' nextgroup=aapPipeEnd containedsyn match	aapCommand '^\s*:syseval\>' nextgroup=aapPipeEndsyn match	aapPipeCmd '\s*:syseval\>' nextgroup=aapPipeEnd containedsyn match	aapPipeCmd '\s*:assign\>' containedsyn match	aapCommand '^\s*:eval\>' nextgroup=aapPipeEndsyn match	aapPipeCmd '\s*:eval\>' nextgroup=aapPipeEndPy containedsyn match	aapPipeCmd '\s*:tee\>' nextgroup=aapPipeEnd containedsyn match	aapPipeCmd '\s*:log\>' nextgroup=aapPipeEnd containedsyn match	aapPipeEnd '[^|]*|' nextgroup=aapPipeCmd contained skipnlsyn match	aapPipeEndPy '[^|]*|' nextgroup=aapPipeCmd contained skipnl contains=@aapPythonScriptsyn match	aapPipeStart '^\s*|' nextgroup=aapPipeCmd "" A Python line starts with @.  Can be continued with a trailing backslash.syn region aapPythonRegion start="\s*@" skip='\\$' end=+$+ contains=@aapPythonScript keepend"" A Python block starts with ":python" and continues so long as the indent is" bigger.syn region aapPythonRegion matchgroup=aapCommand start="\z(\s*\):python" skip='\n\z1\s\|\n\s*\n' end=+$+ contains=@aapPythonScript " A Python expression is enclosed in backticks.syn region aapPythonRegion start="`" skip="``" end="`" contains=@aapPythonScript " TODO: There is something wrong with line continuation.syn match	aapComment '#.*' contains=aapTodosyn match	aapComment '#.*\(\\\n.*\)' contains=aapTodo syn match	aapSpecial '$#'syn match	aapSpecial '$\$'syn match	aapSpecial '$(.)' " A heredoc assignment.syn region aapHeredoc start="^\s*\k\+\s*$\=+\=?\=<<\s*\z(\S*\)"hs=e+1 end="^\s*\z1\s*$"he=s-1 " Syncing is needed for ":python" and "VAR << EOF".  Don't use Python syncingsyn sync clearsyn sync fromstart " The default highlighting.hi def link aapTodo		Todohi def link aapString		Stringhi def link aapComment		Commenthi def link aapSpecial		Specialhi def link aapVariable		Identifierhi def link aapPipeCmd		aapCommandhi def link aapCommand		Statementhi def link aapHeredoc		Constant let b:current_syntax = "aap" let &cpo = s:cpo_saveunlet s:cpo_save " vim: ts=8