PowerShell / PowerShell/PSScriptAnalyzer

Write new formatting engine

Offen
#1,480 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Consider - 2.0
Vorherrschende Sprache
C#
Sterne
2.2k
Forks
414
Ø Merge
13 Std. 1 Min.
Gemergte PRs (30 T.)
2

Beschreibung

PSSA2 currently only has an analyzer. It should also have a formatter.

In particular, the API should allow objects to implement an abstract class that doesn't emit diagnostics, but instead contributes edits to a formatting buffer.

Rules should be able to provide an implementation for this also by implementing an API that provides an instance of the required abstract class.

Requirements are:

  • Run as many formatters over the script as it can at once
  • When formatters want to overwrite the same extent, the largest wins
  • Attempt to run until no more formatters have edits to make, up to some maximum number of runs
  • Formatters should reuse the rule configuration system

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Lies zunächst den bestehenden Analyzer und das System zur Regelkonfiguration und ermittle dann, wie eine Formatter-API daneben eingefügt werden könnte. Erledigt ist die Aufgabe, wenn Formatter-Instanzen, nebenläufige Änderungen mit dem Verhalten „größte Überlappung gewinnt“, wiederholte Ausführungen bis zu einem Limit und die Wiederverwendung der Regelkonfiguration unterstützt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, powershell
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.