Rewrite Variable Logic From Scratch
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 20/100
- Tipo de issue
- Refatoração
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- powershell
- Domínio
- devtools
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- PowerShell
- Estrelas
- 151
- Forks
- 55
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de PowerShell/EditorSyntax
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
PowerShell/EditorSyntax#224 · 2 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
PowerShell/EditorSyntax#222 · 2 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
PowerShell/EditorSyntax#221 · 2 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
PowerShell/EditorSyntax#220 · 2 comentários · 1 reação ·
-
Issue-Bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
PowerShell/EditorSyntax#219 · 2 comentários ·
Todas as issues de PowerShell/EditorSyntax
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
0xMiden/bridge-portal#132 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
newrelic-experimental/preflight#793 · 1 comentário ·
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
babalae/bettergi-scripts-list#3674 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
caddyserver/caddy#8046 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
zilliztech/memsearch#759 ·