Rewrite Variable Logic From Scratch
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 20/100
- Issue-Typ
- Refactoring
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- powershell
- Bereich
- devtools
Rechercherichtung
No files or tests are named. Start by reviewing the scope and rule questions in this issue and linked issues #127, #129–#133, and #138; done requires a defined grammar rewrite covering the listed variable forms and highlighting cases, but the planned format is still TBD.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
There are multiple issues with variables as they stand now in the grammar some of which have been reported and some of which haven't:
- Punctuation in variables with properties and methods isn't scoped correctly: #131
- The sigil for a sub-expression is not handled the same way as the sigil on a variable: #132
- Some language variables like
$_,$$,$?are treated differently depending on context and are currently scoped incorrectly: #133 - Properties and method highlighting breaks when the variable has an array position specified: #127
- Multiple legal characters break variable highlighting (
$Var?Iable), and special automatic variables like$<drive letter>:folderdon't highlight correctly: #49
There are also questions about the correct scope of properties and methods (mentioned #131) and questions about to what extent the grammar should be concerned with user expectation/"most themes" vs either correctness (subjective) or consistency (with which languages?) (#130 and #129).
Background
The following cases need to be covered with as little repetition / complexity as possible:
- Regular variables with and without scopes, properties, array position, methods, etc.
- Variables contained within strings.
- Variables contained within sub-expressions with and without scopes, properties, array position, methods, etc.
- Variables in and out of strings and sub-expressions when using the
${Variable}format again with and without scopes, properties, array position, methods, etc.
The following gotchas need to be taken in to account:
- Which special characters are legal within
${Variable}syntax vs$Variablesyntax. - International characters (
\p{L}vs [A-z]`). - Access of variables through splatting where the sigil is
@. - Separate scoping for constants, automatic variables, language variables, etc.
$$where"$$Hello"needs to show$$as the variable andHelloas part of the double quoted string and other similar oddities.- Lots of others...
Planned Format/Rules
??? tbd
Re: Scope selection -> See #138
- Vorherrschende Sprache
- PowerShell
- Sterne
- 151
- Forks
- 55
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus PowerShell/EditorSyntax
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
PowerShell/EditorSyntax#224 · 2 Kommentare ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
PowerShell/EditorSyntax#222 · 2 Kommentare ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
PowerShell/EditorSyntax#221 · 2 Kommentare ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
PowerShell/EditorSyntax#220 · 2 Kommentare · 1 Reaktion ·
-
Issue-Bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
PowerShell/EditorSyntax#219 · 2 Kommentare ·
Alle Issues in PowerShell/EditorSyntax
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
palladius/rails8-app-on-gcp#145 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
elastic/gradle-plugins#156 ·
-
area:workflow bug ready-for-agent
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
fil-donadoni/tolaria#4409 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
dotenvx/dotenv-vscode#139 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Fission-AI/OpenSpec#1960 ·