forked from aniani/vim
runtime(vim): Update base-syntax and generator, only match valid predefined variables
- Only match valid predefined and option variables. - Match scope dictionaries. - Highlight scope prefixed variables as a scope dictionary accessor. The vimVarScope syntax group can be linked to vimVar to disable this. - Include support for Neovim-only predefined and option variables. Temporary collateral damage - scope dictionaries match instead of keys in dictionary literals. closes: #16727 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
42e498d9c4
commit
3dca512939
@@ -100,6 +100,79 @@ echo [1, 'two', 1 + 2, "fo" .. "ur"]
|
||||
" Issue #5830 (Incorrect syntax highlighting in Vim script when omitting space in list of string)
|
||||
let l = ['a','b','c']
|
||||
|
||||
" Dictionary
|
||||
|
||||
echo {}
|
||||
echo { 'foo': 21 * 2 }
|
||||
echo { "foo": 21 * 2 }
|
||||
echo { 42: 21 * 2 }
|
||||
|
||||
echo { "foo": { 'bar': 21 * 2 } }
|
||||
echo { "foo": { "bar": 21 * 2 } }
|
||||
echo { "foo": { 42: 21 * 2 } }
|
||||
echo { "foo": #{ bar: 21 * 2 } }
|
||||
echo { "foo": #{ -bar-: 21 * 2 } }
|
||||
echo { "foo": #{ 42: 21 * 2 } }
|
||||
|
||||
echo { 'foo': { 'bar': 21 * 2 } }
|
||||
echo { 'foo': { "bar": 21 * 2 } }
|
||||
echo { 'foo': { 42: 21 * 2 } }
|
||||
echo { 'foo': #{ bar: 21 * 2 } }
|
||||
echo { 'foo': #{ -bar-: 21 * 2 } }
|
||||
echo { 'foo': #{ 42: 21 * 2 } }
|
||||
|
||||
echo { 42: { 'bar': 21 * 2 } }
|
||||
echo { 42: { "bar": 21 * 2 } }
|
||||
echo { 42: { 42: 21 * 2 } }
|
||||
echo { 42: #{ bar: 21 * 2 } }
|
||||
echo { 42: #{ -bar-: 21 * 2 } }
|
||||
echo { 42: #{ 42: 21 * 2 } }
|
||||
|
||||
echo {
|
||||
"\ comment
|
||||
\ "foo": { "bar": 21 * 2 }
|
||||
\}
|
||||
|
||||
" TODO: arbitrary expression keys
|
||||
|
||||
" Literal Dictionary
|
||||
|
||||
echo #{}
|
||||
echo #{ foo: 21 * 2 }
|
||||
echo #{ -foo-: 21 * 2 }
|
||||
echo #{ 42: 21 * 2 }
|
||||
|
||||
echo #{ foo: #{ bar: 21 * 2 } }
|
||||
echo #{ foo: #{ -bar-: 21 * 2 } }
|
||||
echo #{ foo: #{ 42: 21 * 2 } }
|
||||
echo #{ foo: { "bar": 21 * 2 } }
|
||||
echo #{ foo: { 'bar': 21 * 2 } }
|
||||
echo #{ foo: { 42: 21 * 2 } }
|
||||
|
||||
echo #{ -foo-: #{ bar: 21 * 2 } }
|
||||
echo #{ -foo-: #{ -bar-: 21 * 2 } }
|
||||
echo #{ -foo-: #{ 42: 21 * 2 } }
|
||||
echo #{ -foo-: { "bar": 21 * 2 } }
|
||||
echo #{ -foo-: { 'bar': 21 * 2 } }
|
||||
echo #{ -foo-: { 42: 21 * 2 } }
|
||||
|
||||
echo #{ 42: #{ bar: 21 * 2 } }
|
||||
echo #{ 42: #{ -bar-: 21 * 2 } }
|
||||
echo #{ 42: #{ 42: 21 * 2 } }
|
||||
echo #{ 42: { "bar": 21 * 2 } }
|
||||
echo #{ 42: { 'bar': 21 * 2 } }
|
||||
echo #{ 42: { 42: 21 * 2 } }
|
||||
|
||||
echo #{
|
||||
"\ comment
|
||||
\ foo: #{
|
||||
\ bar: 21 * 2
|
||||
\ }
|
||||
\}
|
||||
|
||||
" match as keys not scope dictionaries
|
||||
echo #{ b: 42, w: 42, t: 42, g: 42, l: 42, s: 42, a: 42, v: 42 }
|
||||
|
||||
" Register
|
||||
|
||||
echo @"
|
||||
|
Reference in New Issue
Block a user