github / github/vscode-github-actions

Squiggle should only cover the subexpression most closely related to a problem

Aperta
#449 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
660
Fork
213
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Type: Bug

consider this incomplete expression:
```yaml
something: >-
${{ 'alpine' }}
${{ (github.event_name == 'push') && (github.ref_name == github.event.repository. && format('{0}/{1}:latest', env.repository, env.image) || '' }}
```

there is more than one `${{ ... }}` and more than one `&&` in the value for `something`.

The system is nice enough not to stick squiggles under the entirety of the value of `something`, but it does stick them under the entirety of the second `${{ ... }}`.

It would be nicer if it only put them around `github.event.repository. &&` or even `repository. &&` which is the portion of the expression that's closest to the unhappy item.

```yaml
Unexpected symbol: '&&'
Available expression contexts: github, inputs, vars, needs, strategy, matrix, secrets, steps, job, runner, env

Available expression functions: hashFiles
View Problem
```

The worst pat of the current behavior is that `View Problem points the user to the beginning of the `${{` saying:
```
Unexpected symbol: '&&'
```

Which is actually closest to the _first_ `&&` which is not the problematic one.

Extension version: 0.27.1
VS Code version: Code 1.98.0 (Universal) (6609ac3d66f4eade5cf376d1cb76f13985724bcb, 2025-03-04T21:06:18.612Z)
OS version: Darwin arm64 24.3.0
Modes:

System Info

|Item|Value|
|---|---|
|CPUs|Apple M1 Max (10 x 2400)|
|GPU Status|2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off|
|Load (avg)|6, 7, 7|
|Memory (System)|64.00GB (0.10GB free)|
|Process Argv|--crash-reporter-id 1fc67ee2-0174-4598-9f98-4537df0dd32c|
|Screen Reader|no|
|VM|0%|

A/B Experiments

```
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30256859
vscod805cf:30301675
binariesv615:30325510
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
vscrp:30673768
962ge761:30959799
h48ei257:31000450
pythontbext0:30879054
cppperfnew:31000557
dwnewjupytercf:31046870
nativerepl2:31139839
pythonrstrctxt:31112756
nativeloc2:31192216
iacca1:31171482
5fd0e150:31155592
dwcopilot:31170013
6074i472:31201624
dwoutputs:31242946
customenabled:31248079
5a9hg449:31230677
hdaa2157:31222309
copilot_t_ci:31222730
968h8231:31253945
jda6j935:31233686

```

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Riproduci la diagnostica nella GitHub Actions VS Code extension usando l’espressione YAML incompleta del report, quindi segui il codice che calcola gli intervalli delle sottolineature ondulate e la posizione di View Problem. Il lavoro è completo quando la diagnostica evidenzia solo la sottoespressione più vicina al simbolo non valido invece dell’intera espressione `${{ ... }}`, mantenendo il messaggio riportato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
github-actions, typescript, vscode
Ambito
developer-experience, devtools
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.