Skip to content

Commit f22b6bc

Browse files
author
Kuniwak
committed
Add CURLY_NAMEPART
1 parent cc8488d commit f22b6bc

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

autoload/vimlparser.vim

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ let s:NODE_IDENTIFIER = 86
127127
let s:NODE_CURLYNAME = 87
128128
let s:NODE_ENV = 88
129129
let s:NODE_REG = 89
130+
let s:NODE_CURLYNAMEPART = 90
130131

131132
let s:TOKEN_EOF = 1
132133
let s:TOKEN_EOL = 2
@@ -3263,13 +3264,21 @@ function! s:ExprParser.parse_identifier()
32633264
let c = self.reader.peek()
32643265
if c ==# '<' && self.reader.peekn(5) ==? '<SID>'
32653266
let name = self.reader.getn(5)
3266-
call add(id, {'curly': 0, 'value': name})
3267+
let node_1 = s:Node(s:NODE_CURLYNAMEPART)
3268+
let node_1.curly = 0
3269+
let node_1.pos = npos
3270+
let node_1.value = name
3271+
call add(id, node_1)
32673272
endif
32683273
while 1
32693274
let c = self.reader.peek()
32703275
if s:isnamec(c)
32713276
let name = self.reader.read_name()
3272-
call add(id, {'curly': 0, 'value': name})
3277+
let node_2 = s:Node(s:NODE_CURLYNAMEPART)
3278+
let node_2.curly = 0
3279+
let node_2.pos = npos
3280+
let node_2.value = name
3281+
call add(id, node_2)
32733282
elseif c ==# '{'
32743283
call self.reader.get()
32753284
let node = self.parse_expr1()
@@ -3279,7 +3288,11 @@ function! s:ExprParser.parse_identifier()
32793288
throw s:Err(printf('unexpected token: %s', c), self.reader.getpos())
32803289
endif
32813290
call self.reader.seek_cur(1)
3282-
call add(id, {'curly': 1, 'value': node})
3291+
let node_3 = s:Node(s:NODE_CURLYNAMEPART)
3292+
let node_3.curly = 1
3293+
let node_3.pos = npos
3294+
let node_3.value = id[0].value
3295+
call add(id, node_3)
32833296
else
32843297
break
32853298
endif

0 commit comments

Comments
 (0)