Function Parameter Not its own TextMate Scope

Open
#221 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
55/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
powershell
Domain
tooling

Research direction

No repository files or tests are named. Reproduce the examples in VS Code, inspect the TextMate scopes before and after saving, and trace the PowerShell grammar entry point responsible for parameter tokens. Done means function parameters are scoped separately from their values and the highlighting remains consistent after saving.

Written by the indexing model from the issue text.

Description

Prerequisites
  • Write a descriptive title.
  • Make sure you are able to repro it on the latest version
  • Search the existing issues.
Steps to reproduce
  1. Open VS Code
  2. Open new un-saved PowerShell file
  3. Paste the following into the window:
$EventLog = "EventLog"
Get-Service -Name EventLog
Get-Service -Name 'EventLog'
Get-Service -Name "EventLog"
Get-Service -Name ('EventLog')
Get-Service -Name $EventLog
Get-Service -Name $($EventLog)
Get-Service -Name @($EventLog)
Get-Service -Name ${EventLog}
Get-Service -Name:$($EventLog)
Get-Service -Name:EventLog

Result:
Image

  1. Save File anywhere
    Results:
Image
Expected behavior
On save the syntax highlighting will remain the same as the first screenshot.
Actual behavior
On saving the file the syntax highlighting does not display appropriately, see second screenshot
Error details
n/a
Environment data
Name                           Value
----                           -----
PSVersion                      7.5.4
PSEdition                      Core
GitCommitId                    7.5.4
OS                             Microsoft Windows 10.0.26200
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
Version

latest? Visual Studio Code Host Version 2025.4.0

Visuals

See above screenshots for visuals. Also below:

Parameter & Parameter Value Separated by a space " " or colon ":" are seen as a single token when using the "Developer: Inspect Editor Tokens and Scopes" feature
Image
Image

Where the others are seen as separate because of another character: ' " ( $ @
Image

Ideally, a function parameter (dash followed by letters and then separated by specific characters) should be it's own TextMate Scope / token that can be customized separate from the rest

Dominant language
PowerShell
Stars
151
Forks
55
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PowerShell/EditorSyntax

All issues in PowerShell/EditorSyntax

Similar issues

More DevTools issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.