How we decide on which scopes to use.
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- powershell
- Domain
- tooling
Research direction
Start by reviewing the scope naming guidance linked in the issue and the related issues #8, #130, and #129. Compare the listed scope-selection and theme-maintenance options, then document an agreed policy covering PowerShell-specific expectations, cross-language consistency, and responsibilities for affected themes.
Written by the indexing model from the issue text.
Description
The use of variable.other.member for properties and methods has been incredibly contentious because most themes don't colour it and some people really don't like the lack of distinction. There has been some suggestion that the grammar should take into account user expectation and/or what themes are or are not doing whether that be the VS Code default themes or some majority of all themes. There is also a question of whether or not grammar maintainers should be responsible for updating the default themes (either before or after making changes to the grammar scopes) if that's even feasible (see below.)
As far as scope selection goes there are a few options:
- Adhere as strictly as possible to https://sublimetext.com/docs/3/scope_naming.html
- Aim for consistency with other languages.
a. Aim for consistency with one other language such as C#.
b. Aim for consistency with as many similar languages as possible. - Make decisions based on maintaining the look and feel at a particular point in time in one or more themes.
- Make decisions based on reaching a similar delineation of language components to ISE, PowerShell Studio, etc again based on what themes are currently doing.
- Use consensus / discussion for each change.
- Other?
I personally prefer a mixture of 1 and 2b which leads to the second question: what level of responsibility do we have to maintain user experience be that in the default themes, the ise them, or some majority of all themes?
- Should we update the default themes to maintain consistency when we make major changes?
- Does it need to occur before/in parallel with our changes?
- Should we update the ISE theme to maintain consistency when we make changes?
- Does it need to occur before/in parallel with our changes?
- Should we update major third party themes to maintain consistency when we make a change?
- Does it need to occur before/in parallel with our changes?
NOTE: When I say "should we update" it could also be an issue/request.
Keeping in mind that if we change to a scope used by other languages that changes to the themes to maintain consistency for PowerShell writers could disturb the expectation of other developers. For example the sigil scope applied to the $ in variables is consistent across almost 10 languages. If we added or removed colour support in the default themes to match PowerShell expectations it could negatively impact other language developers. This raises a final question that goes along with the first one:
- Should we make choices with PowerShell-only expectations in mind.
- Should we make choices with consistency for people who write multiple languages in mind.
Ie, should these look the same between PowerShell and PHP?
$Variable.Property.Method()
$variable->property->method();
Or should the PowerShell one look how it looks in ISE/how it always has looked in VS Code.
Related: #8
Open issues that raise some of these questions: #130 #129
- Dominant language
- PowerShell
- Stars
- 151
- Forks
- 55
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from PowerShell/EditorSyntax
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
PowerShell/EditorSyntax#224 · 2 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 48/100
PowerShell/EditorSyntax#222 · 2 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
PowerShell/EditorSyntax#221 · 2 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
PowerShell/EditorSyntax#220 · 2 comments · 1 reaction ·
-
Issue-Bug
Difficulty 3/5 1-2 days Newbie friendliness 48/100
PowerShell/EditorSyntax#219 · 2 comments ·
All issues in PowerShell/EditorSyntax
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
newrelic-experimental/preflight#793 · 1 comment ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
babalae/bettergi-scripts-list#3674 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
caddyserver/caddy#8046 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
zilliztech/memsearch#759 ·
-
comp/cron P2 sweeper:risk-automation type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
NousResearch/hermes-agent#117792 · 1 comment ·