Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions AWSTemplate.sublime-syntax
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,12 @@ contexts:
- meta_prepend: true
- match: ^(\s+)(Command)\s*(:)(?=\s|$)
captures:
2: string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
2: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
3: punctuation.separator.key-value.yaml
push: script-block-sequence
- match: ^(\s+)(commands)\s*(:)(?=\s|$)
captures:
2: string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
2: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
3: punctuation.separator.key-value.yaml
push: script-block-sequence

Expand Down
8 changes: 4 additions & 4 deletions AzureDevops.sublime-syntax
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,22 @@ contexts:
- meta_prepend: true
- match: \s(inlineScript|script)\s*(:)(?=\s|$) # TODO: honor scriptType using branching
captures:
1: string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
2: punctuation.separator.key-value.yaml
push: script-block-node
- match: \s(bash)\s*(:)(?=\s|$)
captures:
1: string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
2: punctuation.separator.key-value.yaml
push: script-block-node
- match: \s(pwsh|powershell)\s*(:)(?=\s|$)
captures:
1: string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
2: punctuation.separator.key-value.yaml
push: script-block-node # TODO: embed powershell instead of Bash
- match: \s+(condition)\s*(:)(?=\s+(?!\$\{\{)) # TODO: be smarter in case | is used etc.
captures:
1: string.unquoted.plain.out.yaml keyword.control.flow.condition.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.condition.pipeline
2: punctuation.separator.key-value.yaml
push:
- include: flow-scalar-plain-out-body
Expand Down
2 changes: 1 addition & 1 deletion Bitbucket Pipeline.sublime-syntax
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ contexts:
push: meta-name
- match: ^(\s+)(script)\s*(:)(?=\s|$)
captures:
2: string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
2: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
3: punctuation.separator.key-value.yaml
push: script-block-sequence

Expand Down
2 changes: 1 addition & 1 deletion Drone CI.sublime-syntax
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ contexts:
- meta_prepend: true
- match: ^(\s+)(commands)\s*(:)(?=\s|$)
captures:
2: string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
2: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
3: punctuation.separator.key-value.yaml
push: script-block-sequence
- match: ^({{global_keywords}})\s*(:)$
Expand Down
18 changes: 9 additions & 9 deletions Github Actions.sublime-syntax
Original file line number Diff line number Diff line change
Expand Up @@ -11,36 +11,36 @@ contexts:
- meta_prepend: true
- match: \s+(shell)\s*(:)(?=\s|$)
captures:
1: string.unquoted.plain.out.yaml keyword.control.shell.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.shell.pipeline
2: punctuation.separator.key-value.yaml
push: expect-shell-name
- match: \s+(run|inlineScript)\s*(:)(?=\s|$)
captures:
1: string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
2: punctuation.separator.key-value.yaml
push: script-block-node
- match: \s+(if)\s*(:)(?=\s+\|)
captures:
1: string.unquoted.plain.out.yaml keyword.control.flow.condition.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.condition.pipeline
2: punctuation.separator.key-value.yaml
push: if-block-scalar
- match: \s+(if)\s*(:)(?=\s+(?!\$\{\{))
captures:
1: string.unquoted.plain.out.yaml keyword.control.flow.condition.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.condition.pipeline
2: punctuation.separator.key-value.yaml
push: inside-if
- match: \s+(if)\s*(:)(?=\s+(?=\$\{\{))
captures:
1: string.unquoted.plain.out.yaml keyword.control.flow.condition.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.condition.pipeline
2: punctuation.separator.key-value.yaml
- match: \s+(needs)\s*(:)(?=\s|$)
captures:
1: string.unquoted.plain.out.yaml keyword.control.conditional.dependencies.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.conditional.dependencies.pipeline
2: punctuation.separator.key-value.yaml
push: expect-dependencies
- match: ^(jobs)\s*(:)(?=\s|$)
captures:
1: string.unquoted.plain.out.yaml keyword.declaration.class.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.declaration.class.pipeline
2: punctuation.separator.key-value.yaml
push: expect-jobs

Expand All @@ -63,13 +63,13 @@ contexts:
# switch shell syntax (just in case of duplicate definitions)
- match: \s+(shell)\s*(:)(?=\s|$)
captures:
1: string.unquoted.plain.out.yaml keyword.control.conditional.dependencies.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.conditional.dependencies.pipeline
2: punctuation.separator.key-value.yaml
set: expect-shell-name
# consume single script block with powershell syntax
- match: \s+(run|inlineScript)\s*(:)(?=\s|$)
captures:
1: string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
2: punctuation.separator.key-value.yaml
set: pwsh-block-node
# consume ordinary nodes
Expand Down
2 changes: 1 addition & 1 deletion Gitlab CICD.sublime-syntax
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ contexts:
- meta_prepend: true
- match: ^(\s+)(script|before_script|after_script)\s*(:)(?=\s|$)
captures:
2: string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
2: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
3: punctuation.separator.key-value.yaml
push: script-block-sequence
- match: ^({{global_keywords}})\s*(:)$
Expand Down
2 changes: 1 addition & 1 deletion Kong.sublime-syntax
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ contexts:
- meta_prepend: true
- match: \b(paths)\s*(:)(?=\s|$)
captures:
1: string.unquoted.plain.out.yaml keyword.control.flow.paths.kong
1: meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.paths.kong
2: punctuation.separator.key-value.yaml
push: paths-block

Expand Down
8 changes: 6 additions & 2 deletions tests/syntax_test_github_actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ on:
workflow_dispatch:

jobs:
# <- meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.declaration.class.pipeline
run_syntax_tests:
# ^^^^^^^^^^^^^^^^ entity.name.function.github-actions
# ^ punctuation.separator.key-value.yaml
Expand All @@ -44,7 +45,7 @@ jobs:
# ^^ punctuation.section.interpolation.end
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'SKIP SCRIPTS')"
# ^^ string.unquoted.plain.out keyword.control.flow.condition
# ^^ meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.condition.pipeline
# ^ keyword.operator.logical
# ^^^^^^^^ meta.function-call.identifier support.function
# TODO: scope quotes correctly in `if` above
Expand Down Expand Up @@ -92,14 +93,17 @@ jobs:

- name: Test leading source.powershell
shell: pwsh
# <- meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.shell.pipeline
run: |
# <- meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
Write-Output Test
# <- source.powershell.embedded
#^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.powershell.embedded - source.powershell source.powershell
# ^^^^^^^^^^^^ support.function

- name: Test leading source.shell
run: |
# <- meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.script.pipeline
echo Test
# <- source.shell.bash.embedded
#^^^^^^^^^^^^^^^^^^^ source.shell.bash.embedded - source.shell source.shell
Expand All @@ -116,7 +120,7 @@ jobs:
with:
path: st_syntax_tests/Data/Packages
if: ${{github.repository == 'example-user/cascade-repo'}}
# ^^ string.unquoted.plain.out.yaml keyword.control.flow.condition.pipeline
# ^^ meta.mapping.key.yaml meta.string.yaml string.unquoted.plain.out.yaml keyword.control.flow.condition.pipeline
# ^^^ punctuation.section.interpolation.begin
# ^^^^^^ constant.language.context
# ^ punctuation.accessor.dot
Expand Down