@@ -503,61 +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-shell
511- - settings-boolean
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-shell :
521- - match : \b{{shell_settings }}\b
517+ settings-boolean-name :
518+ - match : ' {{boolean_settings }}\b'
522519 scope : entity.name.definition.just
523520 set :
524- - string-array
521+ - settings-boolean-value
525522 - assignment-operator
526- - include : else-pop
527523
528- settings-boolean :
529- - match : \b{{boolean_settings}}\b
530- scope : entity.name.definition.just
531- set :
532- - constant-boolean
533- - assignment-operator
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
535530
536- settings-string :
537- - match : \b{{string_settings}}\b
531+ settings-invalid-name :
532+ - match : ({{valid_name}})\b\s*:=
533+ captures :
534+ 1 : invalid.illegal.just
535+ push : eol-pop
536+
537+ settings-shell-name :
538+ - match : ' {{shell_settings}}\b'
538539 scope : entity.name.definition.just
539- push :
540+ set :
541+ - settings-shell-value
540542 - assignment-operator
541- - include : strings
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
544+ settings-shell-value :
545+ - match : \[
546+ scope : punctuation.section.brackets.start.just
547+ set : string-array-body
549548 - include : else-pop
549+ - include : eol-pop
550550
551- string-array :
551+ string-array-body :
552552 - meta_scope : meta.sequence.list.just
553- - match : \[
554- scope : punctuation.section.brackets.start.just
555- - match : ' ,'
556- scope : punctuation.separator.parameters.just
557553 - match : \]
558554 scope : punctuation.section.brackets.end.just
559555 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 :
560569 - include : strings
570+ - include : eol-pop
561571
562572# ###[ General Types ]##########################################################
563573
0 commit comments