Rewrite Variable Logic From Scratch

Abierto
#137 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
20/100
Tipo de issue
Refactorización
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
powershell
Área
devtools

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement project

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>:folder don'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 $Variable syntax.
  • 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 and Hello as part of the double quoted string and other similar oddities.
  • Lots of others...

Planned Format/Rules

??? tbd

Re: Scope selection -> See #138

Lenguaje dominante
PowerShell
Estrellas
151
Forks
55
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PowerShell/EditorSyntax

Todos los issues de PowerShell/EditorSyntax

Issues similares

Más issues de DevTools

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.