github / github/vscode-github-actions
Squiggle should only cover the subexpression most closely related to a problem
- 主要語言
- TypeScript
- 星號
- 660
- 分支
- 213
- PR 合併指標
- 30 天內沒有已合併 PR
描述
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
```
貢獻指南
研究方向
使用報告中的不完整 YAML 表達式,在 GitHub Actions VS Code extension 中重現該診斷,然後追蹤計算波浪線範圍和 View Problem 位置的程式碼。完成標準是:診斷僅突顯距離無效符號最近的子表達式,而不是整個 `${{ ... }}` 表達式,同時保留回報的訊息。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- github-actions, typescript, vscode
- 領域
- developer-experience, devtools
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100