double curly brace can have incorrect syntax highlighting inside format within expression
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- typescript
- Domain
- tooling
Research direction
Start by reproducing the workflow in the VS Code editor and inspect how the extension highlights nested GitHub Actions expressions and format strings. Trace the syntax-highlighting entry point for expression parsing, then verify that the escaped double closing brace is not treated as the expression end while the final closing brace remains highlighted.
Written by the indexing model from the issue text.
Description
Describe the bug
When a double closing curly brace (}} is used as an escape to represent a single closing curly brace (}) inside a format function that is within an expression, it gets incorrectly colored as the end of the expression.
To Reproduce
Steps to reproduce the behavior:
- With the workflow file below, open in vscode editor
- View the syntax highlighting as incorrect. The first double closing curly brace on line 19 should not be yellow.
name: Double Curly Brace Workflow
on:
workflow_dispatch:
inputs:
something-to-print:
description: Something to print in powershell.
required: true
type: string
jobs:
double_curly_brace_job:
runs-on:
labels: windows
steps:
- name: Double Curly Brace Step
env:
VAR_WITH_DOUBLE_CURLY_BRACE: "${{ format('{{ {0} }}', inputs.something-to-print) }}"
run: |
echo "${{ env.VAR_WITH_DOUBLE_CURLY_BRACE }}"
Expected behavior
The last double closing curly brace should be yellow on line 19.
Screenshots
Extension Version
v0.26.5
Additional context
I am testing this on Mac OS Sonoma 14.5
code --version
1.91.1
f1e16e1e6214d7c44d078b1f0607b2388f29d729
x64
- Dominant language
- TypeScript
- Stars
- 661
- Forks
- 214
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/vscode-github-actions
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
github/vscode-github-actions#627 · 1 reaction ·
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
github/vscode-github-actions#630 · 1 reaction ·
-
long work Open
Difficulty 4/5 3-5 days Newbie friendliness 25/100
github/vscode-github-actions#628 ·
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 55/100
github/vscode-github-actions#625 ·
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 64/100
github/vscode-github-actions#621 · 3 comments ·
All issues in github/vscode-github-actions
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
bcgov/bc-wallet-mobile#4761 · 1 comment ·
-
external-issue to-triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
area-deployment area-integrations triage:bot-seen
Difficulty 2/5 Half a day Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
refactor
Difficulty 2/5 1-3 hours Newbie friendliness 84/100