Mercurial > vim
view runtime/syntax/bitbake.vim @ 32222:44ba07fe943e v9.0.1442
patch 9.0.1442: mapset() does not restore non-script context
Commit: https://github.com/vim/vim/commit/bfc7cbd1d44e53e844a079d8ad16ae990dad664d
Author: zeertzjq <zeertzjq@outlook.com>
Date: Fri Apr 7 22:09:46 2023 +0100
patch 9.0.1442: mapset() does not restore non-script context
Problem: mapset() does not restore non-script context.
Solution: Also accept negative sid. (closes https://github.com/vim/vim/issues/12132)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 07 Apr 2023 23:15:04 +0200 |
parents | 67f31c24291b |
children |
line wrap: on
line source
" Vim syntax file " Language: BitBake bb/bbclasses/inc " Author: Chris Larson <kergoth@handhelds.org> " Ricardo Salveti <rsalveti@rsalveti.net> " Copyright: Copyright (C) 2004 Chris Larson <kergoth@handhelds.org> " Copyright (C) 2008 Ricardo Salveti <rsalveti@rsalveti.net> " " This file is licensed under the MIT license, see COPYING.MIT in " this source distribution for the terms. " " Syntax highlighting for bb, bbclasses and inc files. " " It's an entirely new type, just has specific syntax in shell and python code if v:version < 600 finish endif if exists("b:current_syntax") finish endif syn include @python syntax/python.vim unlet! b:current_syntax " BitBake syntax " Matching case syn case match " Indicates the error when nothing is matched syn match bbUnmatched "." " Comments syn cluster bbCommentGroup contains=bbTodo,@Spell syn keyword bbTodo COMBAK FIXME TODO XXX contained syn match bbComment "#.*$" contains=@bbCommentGroup " String helpers syn match bbQuote +['"]+ contained syn match bbDelimiter "[(){}=]" contained syn match bbArrayBrackets "[\[\]]" contained " BitBake strings syn match bbContinue "\\$" syn region bbString matchgroup=bbQuote start=+"+ skip=+\\$+ end=+"+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell syn region bbString matchgroup=bbQuote start=+'+ skip=+\\$+ end=+'+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell " Vars definition syn match bbExport "^export" nextgroup=bbIdentifier skipwhite syn keyword bbExportFlag export contained nextgroup=bbIdentifier skipwhite syn match bbIdentifier "[a-zA-Z0-9\-_\.\/\+]\+" display contained syn match bbVarDeref "${[a-zA-Z0-9\-_:\.\/\+]\+}" contained syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)" contained nextgroup=bbVarValue syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.\/\+][${}a-zA-Z0-9\-_:\.\/\+]*\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbOverrideOperator,bbVarDeref nextgroup=bbVarEq syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbVarPyValue syn region bbVarPyValue start=+${@+ skip=+\\$+ end=+}+ contained contains=@python " Vars metadata flags syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.+]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(:=\|=\|.=\|=.|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq " Includes and requires syn keyword bbInclude inherit include require contained syn match bbIncludeRest ".*$" contained contains=bbString,bbVarDeref syn match bbIncludeLine "^\(inherit\|include\|require\)\s\+" contains=bbInclude nextgroup=bbIncludeRest " Add taks and similar syn keyword bbStatement addtask deltask addhandler after before EXPORT_FUNCTIONS contained syn match bbStatementRest ".*$" skipwhite contained contains=bbStatement syn match bbStatementLine "^\(addtask\|deltask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest " OE Important Functions syn keyword bbOEFunctions do_fetch do_unpack do_patch do_configure do_compile do_stage do_install do_package contained " Generic Functions syn match bbFunction "\h[0-9A-Za-z_\-\.]*" display contained contains=bbOEFunctions syn keyword bbOverrideOperator append prepend remove contained " BitBake shell metadata syn include @shell syntax/sh.vim unlet! b:current_syntax syn keyword bbShFakeRootFlag fakeroot contained syn match bbShFuncDef "^\(fakeroot\s*\)\?\([\.0-9A-Za-z_:${}\-\.]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbOverrideOperator,bbVarDeref,bbDelimiter nextgroup=bbShFuncRegion skipwhite syn region bbShFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@shell " Python value inside shell functions syn region shDeref start=+${@+ skip=+\\$+ excludenl end=+}+ contained contains=@python " BitBake python metadata syn keyword bbPyFlag python contained syn match bbPyFuncDef "^\(fakeroot\s*\)\?\(python\)\(\s\+[0-9A-Za-z_:${}\-\.]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbPyFlag,bbFunction,bbOverrideOperator,bbVarDeref,bbDelimiter nextgroup=bbPyFuncRegion skipwhite syn region bbPyFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@python " BitBake 'def'd python functions syn keyword bbPyDef def contained syn region bbPyDefRegion start='^\(def\s\+\)\([0-9A-Za-z_-]\+\)\(\s*(.*)\s*\):\s*$' end='^\(\s\|$\)\@!' contains=@python " Highlighting Definitions hi def link bbUnmatched Error hi def link bbInclude Include hi def link bbTodo Todo hi def link bbComment Comment hi def link bbQuote String hi def link bbString String hi def link bbDelimiter Keyword hi def link bbArrayBrackets Statement hi def link bbContinue Special hi def link bbExport Type hi def link bbExportFlag Type hi def link bbIdentifier Identifier hi def link bbVarDeref PreProc hi def link bbVarDef Identifier hi def link bbVarValue String hi def link bbShFakeRootFlag Type hi def link bbFunction Function hi def link bbPyFlag Type hi def link bbPyDef Statement hi def link bbStatement Statement hi def link bbStatementRest Identifier hi def link bbOEFunctions Special hi def link bbVarPyValue PreProc hi def link bbOverrideOperator Operator let b:current_syntax = "bitbake"