github / github/vscode-github-actions
double curly brace can have incorrect syntax highlighting inside format within expression
- Linguagem predominante
- TypeScript
- Estrelas
- 660
- Forks
- 213
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
**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:
1. With the workflow file below, open in vscode editor
2. 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`
Guia de contribuição
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- typescript
- Domínio
- tooling
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 45/100