github / github/vscode-github-actions

double curly brace can have incorrect syntax highlighting inside format within expression

Abierto
#394 0 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
TypeScript
Estrellas
660
Forks
213
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

**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**
image

**Extension Version**
`v0.26.5`

**Additional context**
I am testing this on Mac OS Sonoma 14.5
`code --version
1.91.1
f1e16e1e6214d7c44d078b1f0607b2388f29d729
x64`

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
typescript
Área
tooling
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.