summaryrefslogtreecommitdiffstats
path: root/bitbake/contrib/vim/syntax/bitbake.vim
diff options
context:
space:
mode:
authorChristopher Larson <kergoth@gmail.com>2013-09-06 12:25:32 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-06 22:31:33 +0100
commit3dccd57360894d0e401285fc636413d85edbe62d (patch)
tree551c71140951c4f96463526ab914627f6760b94a /bitbake/contrib/vim/syntax/bitbake.vim
parentb093b6c5246b7f3f6ee5dc9c06983eb6a76cb5f6 (diff)
downloadpoky-3dccd57360894d0e401285fc636413d85edbe62d.tar.gz
bitbake: contrib/vim: merge changes from vim-bitbake repo
commit 00ca441614695b4261d8d4f31b7ef0e3e3784282 Merge: 8cc367d bb88c0f Author: Christopher Larson <kergoth@gmail.com> Date: Thu Aug 22 16:42:42 2013 -0700 Merge pull request #6 from staticshock/multi-line-strings Remove "keepend" and "excludenl" directives commit bb88c0fd4ad2b7b9c8c4c73def2b3cb20c473ac3 Author: Anton Backer <olegov@gmail.com> Date: Sat Jul 13 01:24:15 2013 -0400 Remove "keepend" and "excludenl" directives It looks like these were never actually used correctly, and were doing more harm than good. "keepend" on bbString, for instance, prevented proper nesting of ${@python} in strings. Similarly, a balanced pair of { } braces inside a shell function would force the function to terminate early if the closing brace was on its own line. So far I've seen absolutely no negative consequences from removing these, but a bunch of positive consequences. Fixes #1 commit 8cc367d01f4c699be5fcc072de59e6f2f14a138b Merge: c58628c eec6b7f Author: Christopher Larson <kergoth@gmail.com> Date: Thu Aug 22 09:46:46 2013 -0700 Merge pull request #4 from staticshock/function-names Parse function names with nested vars commit c58628ca517cd25985361fc0d27863521cc28a5d Merge: dfb0f7c a890982 Author: Christopher Larson <kergoth@gmail.com> Date: Thu Aug 22 09:43:40 2013 -0700 Merge pull request #5 from yoyko/master syntax: python expansion (${@...}) inside shell functions commit a890982b7c33a6e363b12d6cb69e22b4bbc0f317 Author: Jozef Šiška <yoyo@ksp.sk> Date: Thu Aug 22 13:20:45 2013 +0200 syntax: python expansion (${@...}) inside shell functions Signed-off-by: Jozef Šiška <jsiska@nuvotechnologies.com> commit eec6b7f6f0472787929f424968f9a0d78ac4af08 Author: Anton Backer <olegov@gmail.com> Date: Fri Jul 12 22:16:01 2013 -0400 Parse function names with nested vars For instance, pkg_postinst_${PN} Fixes #3 commit dfb0f7c0d51556448cba79b474b8c19b9cded9af Author: Christopher Larson <chris_larson@mentor.com> Date: Fri Jun 1 18:57:13 2012 -0400 syntax: add ?= flag def Signed-off-by: Christopher Larson <chris_larson@mentor.com> commit 589a62a00709ca822a42327e7086008aba2d9933 Author: Christopher Larson <kergoth@gmail.com> Date: Fri Dec 9 22:25:47 2011 -0700 ftplugin: set commentstring Signed-off-by: Christopher Larson <kergoth@gmail.com> commit 7ffc80b3fb4ddf68cc5a69bdc63ab03d70c44f87 Author: Chris Larson <chris_larson@mentor.com> Date: Thu Jun 2 15:27:48 2011 -0700 Handle +=/=+ for flags Signed-off-by: Chris Larson <chris_larson@mentor.com> (Bitbake rev: f5f479bbe9b74622cd54c8d6ba8786661a3ae3e6) Signed-off-by: Christopher Larson <kergoth@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/contrib/vim/syntax/bitbake.vim')
-rw-r--r--bitbake/contrib/vim/syntax/bitbake.vim19
1 files changed, 11 insertions, 8 deletions
diff --git a/bitbake/contrib/vim/syntax/bitbake.vim b/bitbake/contrib/vim/syntax/bitbake.vim
index 336e6bb15a..fb55f91022 100644
--- a/bitbake/contrib/vim/syntax/bitbake.vim
+++ b/bitbake/contrib/vim/syntax/bitbake.vim
@@ -44,8 +44,8 @@ syn match bbArrayBrackets "[\[\]]" contained
44 44
45" BitBake strings 45" BitBake strings
46syn match bbContinue "\\$" 46syn match bbContinue "\\$"
47syn region bbString matchgroup=bbQuote start=+"+ skip=+\\$+ excludenl end=+"+ contained keepend contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell 47syn region bbString matchgroup=bbQuote start=+"+ skip=+\\$+ end=+"+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
48syn region bbString matchgroup=bbQuote start=+'+ skip=+\\$+ excludenl end=+'+ contained keepend contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell 48syn region bbString matchgroup=bbQuote start=+'+ skip=+\\$+ end=+'+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
49 49
50" Vars definition 50" Vars definition
51syn match bbExport "^export" nextgroup=bbIdentifier skipwhite 51syn match bbExport "^export" nextgroup=bbIdentifier skipwhite
@@ -55,11 +55,11 @@ syn match bbVarDeref "${[a-zA-Z0-9\-_\.\/\+]\+}" contained
55syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)" contained nextgroup=bbVarValue 55syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)" contained nextgroup=bbVarValue
56syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.\/\+]\+\(_[${}a-zA-Z0-9\-_\.\/\+]\+\)\?\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbVarDeref nextgroup=bbVarEq 56syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.\/\+]\+\(_[${}a-zA-Z0-9\-_\.\/\+]\+\)\?\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbVarDeref nextgroup=bbVarEq
57syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbVarPyValue 57syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbVarPyValue
58syn region bbVarPyValue start=+${@+ skip=+\\$+ excludenl end=+}+ contained contains=@python 58syn region bbVarPyValue start=+${@+ skip=+\\$+ end=+}+ contained contains=@python
59 59
60" Vars metadata flags 60" Vars metadata flags
61syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag 61syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
62syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(=\)\@=" keepend excludenl contained contains=bbIdentifier nextgroup=bbVarEq 62syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(=\|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq
63 63
64" Includes and requires 64" Includes and requires
65syn keyword bbInclude inherit include require contained 65syn keyword bbInclude inherit include require contained
@@ -83,13 +83,16 @@ if exists("b:current_syntax")
83 unlet b:current_syntax 83 unlet b:current_syntax
84endif 84endif
85syn keyword bbShFakeRootFlag fakeroot contained 85syn keyword bbShFakeRootFlag fakeroot contained
86syn match bbShFuncDef "^\(fakeroot\s*\)\?\([0-9A-Za-z_-]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbDelimiter nextgroup=bbShFuncRegion skipwhite 86syn match bbShFuncDef "^\(fakeroot\s*\)\?\([0-9A-Za-z_${}-]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbShFuncRegion skipwhite
87syn region bbShFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@shell 87syn region bbShFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@shell
88
89" Python value inside shell functions
90syn region shDeref start=+${@+ skip=+\\$+ excludenl end=+}+ contained contains=@python
88 91
89" BitBake python metadata 92" BitBake python metadata
90syn keyword bbPyFlag python contained 93syn keyword bbPyFlag python contained
91syn match bbPyFuncDef "^\(python\s\+\)\([0-9A-Za-z_-]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbPyFlag,bbFunction,bbDelimiter nextgroup=bbPyFuncRegion skipwhite 94syn match bbPyFuncDef "^\(python\s\+\)\([0-9A-Za-z_${}-]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbPyFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
92syn region bbPyFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@python 95syn region bbPyFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@python
93 96
94" BitBake 'def'd python functions 97" BitBake 'def'd python functions
95syn keyword bbPyDef def contained 98syn keyword bbPyDef def contained