Mercurial > vim
view runtime/syntax/aap.vim @ 10184:4669440016f2 v7.4.2362
commit https://github.com/vim/vim/commit/4930a76a0357f76a829eafe4985d04cf3ce0e9e0
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Sep 11 14:39:53 2016 +0200
patch 7.4.2362
Problem: Illegal memory access with ":1@". (Dominique Pelle)
Solution: Correct cursor column after setting the line number. Also avoid
calling end_visual_mode() when not in Visual mode.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 11 Sep 2016 14:45:05 +0200 |
parents | 3fc0f57ecb91 |
children | 4027cefc2aab |
line wrap: on
line source
" 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 loaded if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set 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 Todo syn 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=aapPipeEnd syn match aapPipeCmd '\s*:print\>' nextgroup=aapPipeEnd contained syn match aapCommand '^\s*:cat\>' nextgroup=aapPipeEnd syn match aapPipeCmd '\s*:cat\>' nextgroup=aapPipeEnd contained syn match aapCommand '^\s*:syseval\>' nextgroup=aapPipeEnd syn match aapPipeCmd '\s*:syseval\>' nextgroup=aapPipeEnd contained syn match aapPipeCmd '\s*:assign\>' contained syn match aapCommand '^\s*:eval\>' nextgroup=aapPipeEnd syn match aapPipeCmd '\s*:eval\>' nextgroup=aapPipeEndPy contained syn match aapPipeCmd '\s*:tee\>' nextgroup=aapPipeEnd contained syn match aapPipeCmd '\s*:log\>' nextgroup=aapPipeEnd contained syn match aapPipeEnd '[^|]*|' nextgroup=aapPipeCmd contained skipnl syn match aapPipeEndPy '[^|]*|' nextgroup=aapPipeCmd contained skipnl contains=@aapPythonScript syn 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=aapTodo syn 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 syncing syn sync clear syn sync fromstart " The default highlighting. hi def link aapTodo Todo hi def link aapString String hi def link aapComment Comment hi def link aapSpecial Special hi def link aapVariable Identifier hi def link aapPipeCmd aapCommand hi def link aapCommand Statement hi def link aapHeredoc Constant let b:current_syntax = "aap" let &cpo = s:cpo_save unlet s:cpo_save " vim: ts=8