Skip to content

Commit f221078

Browse files
authored
Merge pull request #21 from deathaxe/issue-19
[#19] Fix context structure
2 parents b77ef74 + 94e4950 commit f221078

2 files changed

Lines changed: 57 additions & 38 deletions

File tree

Syntax/Just.sublime-syntax

Lines changed: 45 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Syntax/tests/syntax_test_just.settings.just

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,20 +114,29 @@ export ONE := "1"
114114
#^^^^^ keyword.declaration.variable.just
115115
# ^^^ variable.other.just
116116
# ^^ keyword.operator.assignment.just
117-
# ^^^ string.quoted.double.just
117+
# ^^^ string.quoted.double.just
118118

119119
set export := true
120120
export TRY := "1"
121121
#<- keyword.declaration.variable.just
122122
#^^^^^ keyword.declaration.variable.just
123123
# ^^^ variable.other.just
124124
# ^^ keyword.operator.assignment.just
125-
# ^^^ string.quoted.double.just
125+
# ^^^ string.quoted.double.just
126126

127127
set shell := ["sh", "-c"]
128128
export TWO := "2"
129129
#<- keyword.declaration.variable.just
130130
#^^^^^ keyword.declaration.variable.just
131131
# ^^^ variable.other.just
132132
# ^^ keyword.operator.assignment.just
133-
# ^^^ string.quoted.double.just
133+
# ^^^ string.quoted.double.just
134+
135+
set tempdir := ""
136+
export := true
137+
# <- - entity
138+
139+
set tempdir := ""
140+
export := true
141+
shell := ["sh", "-c"]
142+
# <- - entity

0 commit comments

Comments
 (0)