How we decide on which scopes to use.

Aperta
#138 1 commento 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
powershell
Ambito
tooling

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

discussion question

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:

  1. Adhere as strictly as possible to https://sublimetext.com/docs/3/scope_naming.html
  2. 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.
  3. Make decisions based on maintaining the look and feel at a particular point in time in one or more themes.
  4. Make decisions based on reaching a similar delineation of language components to ISE, PowerShell Studio, etc again based on what themes are currently doing.
  5. Use consensus / discussion for each change.
  6. 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:

  1. Should we make choices with PowerShell-only expectations in mind.
  2. 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

Lingua principale
PowerShell
Stelle
151
Fork
55
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di PowerShell/EditorSyntax

Tutte le issue di PowerShell/EditorSyntax

Issue simili

Altre issue su DevTools

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.