neovim/runtime/syntax/aap.vim
Sean Dewar cbf54ec2a5
vim-patch:e978b4534a5e (#24697)
Farewell to Bram and dedicate upcoming Vim 9.1 to him (vim/vim#12749)

e978b4534a

Also update the header for the following files that were converted to Vim9
script upstream:

- autoload/ccomplete.lua (vim9jitted)
- ftplugin.vim
- ftplugof.vim
- indent.vim
- indent/vim.vim
- makemenu.vim

This also updates the "Last Change" dates, even if some changes (due to rewrites
to Vim9 script) were not ported.

There's still a few other places where Bram is still mentioned as a maintainer
in the files we and Vim have:

- ftplugin/bash.vim
- indent/bash.vim
- indent/html.vim
- indent/mail.vim
- macros/accents.vim
- macros/editexisting.vim
- syntax/bash.vim
- syntax/shared/typescriptcommon.vim
- syntax/tar.vim
- syntax/typescript.vim
- syntax/typescriptreact.vim
- syntax/zimbu.vim

Maybe future patches will address that.

Also exclude changes to .po files that didn't apply automatically (the
`:messages` maintainer string isn't used in Nvim anyway).

Co-authored-by: Christian Brabandt <cb@256bit.org>
2023-08-13 13:25:10 +01:00

160 lines
5.6 KiB
VimL

" Vim syntax file
" Language: A-A-P recipe
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2023 Aug 10
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" 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