Version v2021.5.1 Semantic Textmate Scope is incorrect for negative numeric literals, when used as a parameter

未关闭
#207 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
powershell
领域
tooling

调研方向

Start by reproducing the issue with the PowerShell code in the report, focusing on negative numeric literals passed as parameters. Compare the TextMate scopes for negative and positive values, and verify that the affected parameter cases receive matching scopes without changing the reported non-parameter behavior.

由索引模型根据 Issue 内容生成。

描述

"editor.semanticHighlighting.enabled": true is on

System Details
System Details (Click to Expand)

System Details Output

### VSCode version: 1.56.2 054a9295330880ed74ceaedda236253b4f39a335 x64

### VSCode extensions:
adrieankhisbe.vscode-ndjson@0.100.0
ahebrank.yaml2json@0.0.3
alefragnani.Bookmarks@13.0.4
arcticicestudio.nord-visual-studio-code@0.15.1
bierner.docs-view@0.0.9
bungcip.better-toml@0.3.2
christian-kohler.path-intellisense@2.3.0
CoenraadS.bracket-pair-colorizer@1.0.61
CoenraadS.bracket-pair-colorizer-2@0.2.0
darkriszty.markdown-table-prettify@3.4.0
DavidAnson.vscode-markdownlint@0.41.1
donjayamanne.githistory@0.6.16
DotJoshJohnson.xml@2.5.1
eamodio.gitlens@11.4.1
eamodio.tsl-problem-matcher@0.4.0
Equinusocio.vsc-community-material-theme@1.4.2
Equinusocio.vsc-material-theme@33.2.0
equinusocio.vsc-material-theme-icons@1.2.2
esbenp.prettier-vscode@6.4.0
evan-buss.font-switcher@4.0.1
firefox-devtools.vscode-firefox-debug@2.9.4
formulahendry.code-runner@0.11.4
GitHub.github-vscode-theme@4.1.1
GitHub.vscode-pull-request-github@0.26.0
hbenl.vscode-test-explorer@2.20.2
icsharpcode.ilspy-vscode@0.10.0
juanmnl.vscode-theme-hydra@3.2.0
littlefoxteam.vscode-python-test-adapter@0.6.8
LouisWT.regexp-preview@0.1.5
matangover.mypy@0.2.0
mechatroner.rainbow-csv@1.8.1
medo64.code-point@1.7.5
ms-azure-devops.azure-pipelines@1.183.0
ms-dotnettools.csharp@1.23.12
ms-dotnettools.dotnet-interactive-vscode@1.0.2256020
ms-dotnettools.vscode-dotnet-runtime@1.1.0
ms-dotnettools.vscode-dotnet-sdk@0.5.0
ms-mssql.mssql@1.10.1
ms-python.python@2021.6.908196464-dev
ms-python.vscode-pylance@2021.6.1-pre.1
ms-toolsai.jupyter@2021.6.832593372
ms-vscode-remote.remote-wsl@0.56.4
ms-vscode.azure-account@0.9.8
ms-vscode.cpptools@1.4.0
ms-vscode.powershell@2021.5.1
ms-vscode.powershell-preview@2020.7.0
ms-vscode.test-adapter-converter@0.0.9
ms-vscode.vscode-typescript-tslint-plugin@1.3.3
msjsdiag.debugger-for-chrome@4.12.12
octref.vscode-json-transform@0.1.2
PKief.material-icon-theme@4.7.0
PowerQuery.vscode-powerquery@0.1.19
RandomFractalsInc.snippets-viewer@1.9.0
RandomFractalsInc.vscode-data-preview@2.3.0
redhat.vscode-commons@0.0.6
redhat.vscode-xml@0.16.1
redhat.vscode-yaml@0.19.2
RobbOwen.synthwave-vscode@0.1.8
rogalmic.bash-debug@0.3.9
rust-lang.rust@0.7.8
sallar.vscode-duotone-dark@0.3.3
samuelcolvin.jinjahtml@0.16.0
shakram02.bash-beautify@0.1.1
shd101wyy.markdown-preview-enhanced@0.5.18
stansw.vscode-odata@0.1.0
stuart.unique-window-colors@1.0.51
svipas.control-snippets@1.9.1
TylerLeonhardt.vscode-inline-values-powershell@0.0.5
TylerLeonhardt.vscode-pester-test-adapter@0.0.23
vadimcn.vscode-lldb@1.6.4
VisualStudioExptTeam.vscodeintellicode@1.2.14
vscode-icons-team.vscode-icons@11.4.0
webfreak.debug@0.25.0
wwm.better-align@1.1.6
yzhang.markdown-all-in-one@3.4.0
zhuangtongfa.material-theme@3.10.14


### PSES version: 2.3.0.0

### PowerShell version:

Name                           Value
----                           -----
PSVersion                      7.1.2
PSEdition                      Core
GitCommitId                    7.1.2
OS                             Microsoft Windows 10.0.19041
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
Issue Description

The Textmate scopes or token is wrong on negative numeric literals

image

Working behavior

Non-parameters, and positive numbers are okay

textmate_scopes-example1

Expected Behaviour

To share similar tokens/scopes

To reproduce

It seems to occur when:

  1. it's a negative numeric literal (int, or decimal)
  2. it's a parameter
  3. the parameter type doesn't matter

Code used:


function DoNothing {
    param(
        [Parameter(Mandatory, Position = 0)]
        [int]$Number
    )
}
function DoMoreNothing {
    param(
        [Parameter(Mandatory, Position = 0)]
        [string]$Text
    )
}

$x = 6                                               ; $x
$x = -6
DoNothing -6
DoNothing 6
DoNothing -Number 6
DoNothing -Number -6
DoMoreNothing -Text 6
DoMoreNothing -Text -6
Actual Behavior

textmate_scopes-example2-as-parameter

主要语言
PowerShell
星标
151
派生
55
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

PowerShell/EditorSyntax 的其他 Issue

查看 PowerShell/EditorSyntax 的全部 Issue

相似的 Issue

更多 DevTools Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。