diff options
author | Richard Purdie <richard@openedhand.com> | 2006-02-10 10:13:42 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2006-02-10 10:13:42 +0000 |
commit | e068eea7850a859bb0fe00bcb3b029ec63a6ce66 (patch) | |
tree | 9fe7edbe10647d95b3e2801e921c29c2cbb70702 /bitbake/contrib/vim/syntax | |
parent | c6a95b3e1bc01e149e344097687a6c3fae20d522 (diff) | |
download | openembedded-core-e068eea7850a859bb0fe00bcb3b029ec63a6ce66.tar.gz openembedded-core-e068eea7850a859bb0fe00bcb3b029ec63a6ce66.tar.bz2 openembedded-core-e068eea7850a859bb0fe00bcb3b029ec63a6ce66.tar.xz openembedded-core-e068eea7850a859bb0fe00bcb3b029ec63a6ce66.zip |
Update bitbake to latest bitbake svn
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@264 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'bitbake/contrib/vim/syntax')
-rw-r--r-- | bitbake/contrib/vim/syntax/bitbake.vim | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/bitbake/contrib/vim/syntax/bitbake.vim b/bitbake/contrib/vim/syntax/bitbake.vim new file mode 100644 index 000000000..5d2bc633e --- /dev/null +++ b/bitbake/contrib/vim/syntax/bitbake.vim @@ -0,0 +1,120 @@ +" Vim syntax file +" +" Copyright (C) 2004 Chris Larson <kergoth@handhelds.org> +" This file is licensed under the MIT license, see COPYING.MIT in +" this source distribution for the terms. +" +" Language: BitBake +" Maintainer: Chris Larson <kergoth@handhelds.org> +" Filenames: *.bb, *.bbclass + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +syn case match + + +" Catch incorrect syntax (only matches if nothing else does) +" +syn match bbUnmatched "." + + +" Other + +syn match bbComment "^#.*$" display contains=bbTodo +syn keyword bbTodo TODO FIXME XXX contained +syn match bbDelimiter "[(){}=]" contained +syn match bbQuote /['"]/ contained +syn match bbArrayBrackets "[\[\]]" contained + + +" BitBake strings + +syn match bbContinue "\\$" +syn region bbString matchgroup=bbQuote start=/"/ skip=/\\$/ excludenl end=/"/ contained keepend contains=bbTodo,bbContinue,bbVarDeref +syn region bbString matchgroup=bbQuote start=/'/ skip=/\\$/ excludenl end=/'/ contained keepend contains=bbTodo,bbContinue,bbVarDeref + + +" BitBake variable metadata + +syn keyword bbExportFlag export contained nextgroup=bbIdentifier skipwhite +syn match bbVarDeref "${[a-zA-Z0-9\-_\.]\+}" contained +syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.]\+\(_[${}a-zA-Z0-9\-_\.]\+\)\?\)\s*\(\(:=\)\|\(+=\)\|\(=+\)\|\(?=\)\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbVarDeref nextgroup=bbVarEq + +syn match bbIdentifier "[a-zA-Z0-9\-_\.]\+" display contained +"syn keyword bbVarEq = display contained nextgroup=bbVarValue +syn match bbVarEq "\(:=\)\|\(+=\)\|\(=+\)\|\(?=\)\|=" contained nextgroup=bbVarValue +syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref + + +" BitBake variable 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*\(=\)\@=" keepend excludenl contained contains=bbIdentifier nextgroup=bbVarEq +"syn match bbVarFlagFlag "\[\([a-zA-Z0-9\-_\.]\+\)\]\s*\(=\)\@=" contains=bbIdentifier nextgroup=bbVarEq + + +" Functions! +syn match bbFunction "\h\w*" display contained + + +" BitBake python metadata +syn include @python syntax/python.vim +if exists("b:current_syntax") + unlet b:current_syntax +endif + +syn keyword bbPythonFlag python contained nextgroup=bbFunction +syn match bbPythonFuncDef "^\(python\s\+\)\(\w\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbPythonFlag,bbFunction,bbDelimiter nextgroup=bbPythonFuncRegion skipwhite +syn region bbPythonFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@python +"hi def link bbPythonFuncRegion Comment + + +" BitBake shell metadata +syn include @shell syntax/sh.vim +if exists("b:current_syntax") + unlet b:current_syntax +endif + +syn keyword bbFakerootFlag fakeroot contained nextgroup=bbFunction +syn match bbShellFuncDef "^\(fakeroot\s*\)\?\(\w\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbFakerootFlag,bbFunction,bbDelimiter nextgroup=bbShellFuncRegion skipwhite +syn region bbShellFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@shell +"hi def link bbShellFuncRegion Comment + + +" BitBake 'def'd python functions +syn keyword bbDef def contained +syn region bbDefRegion start='^def\s\+\w\+\s*([^)]*)\s*:\s*$' end='^\(\s\|$\)\@!' contains=@python + + +" BitBake statements +syn keyword bbStatement include inherit addtask addhandler EXPORT_FUNCTIONS display contained +syn match bbStatementLine "^\(include\|inherit\|addtask\|addhandler\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest +syn match bbStatementRest ".*$" contained contains=bbString,bbVarDeref + +" Highlight +" +hi def link bbArrayBrackets Statement +hi def link bbUnmatched Error +hi def link bbVarDeref String +hi def link bbContinue Special +hi def link bbDef Statement +hi def link bbPythonFlag Type +hi def link bbExportFlag Type +hi def link bbFakerootFlag Type +hi def link bbStatement Statement +hi def link bbString String +hi def link bbTodo Todo +hi def link bbComment Comment +hi def link bbOperator Operator +hi def link bbError Error +hi def link bbFunction Function +hi def link bbDelimiter Delimiter +hi def link bbIdentifier Identifier +hi def link bbVarEq Operator +hi def link bbQuote String +hi def link bbVarValue String + +let b:current_syntax = "bb" |