@@ -215,7 +215,7 @@ function _hl_annotations!(highlights::Vector{@NamedTuple{region::UnitRange{Int},
215
215
nkind != K " ." && nkind != K " ..." &&
216
216
(JuliaSyntax. is_trivia (node) || JuliaSyntax. is_leaf (node))
217
217
face = if nkind == K " Identifier"
218
- if pkind == K " curly"
218
+ if pkind == K " curly" && kind (lnode) != K " call " && ! ( kind (lnode) == K " curly " && ppkind == K " call " )
219
219
:julia_type
220
220
elseif pkind == K " op=" && kind (lnode) != K " op=" &&
221
221
regionstr in OPERATOR_KINDS
@@ -302,8 +302,12 @@ function _hl_annotations!(highlights::Vector{@NamedTuple{region::UnitRange{Int},
302
302
elseif nkind == K " ." && JuliaSyntax. is_trivia (node) && kind (pnode) == K " dotcall" ;
303
303
:julia_broadcast
304
304
elseif nkind in (K " call" , K " dotcall" ) && JuliaSyntax. is_prefix_call (node)
305
+ cargs = children (node)
306
+ if ! isempty (cargs) && kind (first (cargs)) == K " curly"
307
+ cargs = children (first (cargs))
308
+ end
305
309
argoffset, arg1 = 0 , nothing
306
- for arg in something (children (node) , GreenNode[])
310
+ for arg in something (cargs , GreenNode[])
307
311
argoffset += span (arg)
308
312
if ! JuliaSyntax. is_trivia (arg)
309
313
arg1 = arg
@@ -317,7 +321,7 @@ function _hl_annotations!(highlights::Vector{@NamedTuple{region::UnitRange{Int},
317
321
ifelse (name in BUILTIN_FUNCTIONS, :julia_builtin , :julia_funcall )
318
322
elseif kind (arg1) == K " ." && numchildren (arg1) == 3 && kind (arg1[end ]) == K " Identifier"
319
323
region = first (region)+ argoffset- span (arg1[end ]): first (region)+ argoffset- 1
320
- name = Symbol (view (regionstr, 1 : argoffset))
324
+ name = Symbol (view (regionstr, ( 1 + argoffset - span (arg1[ end ])) : argoffset))
321
325
ifelse (name in BUILTIN_FUNCTIONS, :julia_builtin , :julia_funcall )
322
326
end
323
327
elseif syntax_errors && JuliaSyntax. is_error (nkind); :julia_error
0 commit comments