@@ -503,60 +503,71 @@ contexts:
503503# Ex: "set shell := ['zsh', '-cu']", "set dotenv-load", "set export := false"
504504
505505 settings :
506- - match : ^set(?=\s+ )
506+ - match : ^set(?=\s)
507507 scope : storage.modifier.definition.just
508- push :
509- - settings-invalid
510- - settings-boolean
511- - settings-shell
512- - settings-string
508+ push : settings-name
513509
514- settings-invalid :
515- - match : \b({{valid_name}})\b\s*:=
516- captures :
517- 1 : invalid.illegal.just
510+ settings-name :
511+ - include : settings-boolean-name
512+ - include : settings-shell-name
513+ - include : settings-string-name
514+ - include : settings-invalid-name
518515 - include : else-pop
519516
520- settings-boolean :
521- - match : \b {{boolean_settings}}\b
517+ settings-boolean-name :
518+ - match : ' {{boolean_settings}}\b'
522519 scope : entity.name.definition.just
523- push :
524- - constant -boolean
520+ set :
521+ - settings -boolean-value
525522 - assignment-operator
526- - include : else-pop
527523
528- settings-string :
529- - match : \b{{string_settings}}\b
530- scope : entity.name.definition.just
531- push :
532- - assignment-operator
533- - include : strings
524+ settings-boolean-value :
525+ - match : (?:true|false)\b
526+ scope : constant.language.boolean.just
527+ pop : 1
534528 - include : else-pop
529+ - include : eol-pop
530+
531+ settings-invalid-name :
532+ - match : ({{valid_name}})\b\s*:=
533+ captures :
534+ 1 : invalid.illegal.just
535+ push : eol-pop
535536
536- settings-shell :
537- - match : \b {{shell_settings}}\b
537+ settings-shell-name :
538+ - match : ' {{shell_settings}}\b'
538539 scope : entity.name.definition.just
539- push :
540- - string-array
540+ set :
541+ - settings-shell-value
541542 - assignment-operator
542- - include : else-pop
543543
544- constant-boolean :
545- - match : \b(true|false)\b
546- captures :
547- 1 : constant.language.boolean.just
548- pop : 1
549- - include : else-pop
550-
551- string-array :
544+ settings-shell-value :
552545 - match : \[
553546 scope : punctuation.section.brackets.start.just
554- - match : ' ,'
555- scope : punctuation.separator.parameters.just
547+ set : string-array-body
548+ - include : else-pop
549+ - include : eol-pop
550+
551+ string-array-body :
552+ - meta_scope : meta.sequence.list.just
556553 - match : \]
557554 scope : punctuation.section.brackets.end.just
558555 pop : 1
556+ - match : ' ,'
557+ scope : punctuation.separator.parameters.just
558+ - include : strings
559+ - include : eol-pop # ??
560+
561+ settings-string-name :
562+ - match : ' {{string_settings}}\b'
563+ scope : entity.name.definition.just
564+ set :
565+ - settings-string-value
566+ - assignment-operator
567+
568+ settings-string-value :
559569 - include : strings
570+ - include : eol-pop
560571
561572# ###[ General Types ]##########################################################
562573
0 commit comments