Z-Shell-Unterstützung

Ab Version 4.0 bietet BashSupport Pro Unterstützung für die Entwicklung von Zsh Skripten.

Editor-Unterstützung

Die für POSIX und Bash verfügbaren Editor-Funktionen werden in gleicher Weise für Zsh-Skripte unterstützt.

BashSupport Pro unterstützt diese vordefinierten Funktionen von Zsh:

Code Vervollständigung

Code-Vervollständigung ist für Zsh verfügbar. Sie unterstützt alle vordefinierten Variablen von Zsh. Eine vollständige Liste mit Dokumentation und Beispielen finden Sie unter Zsh Variablen.

Code-Vervollständigung der vordefinierten Variablen
Wenn eine Variable durch ein Zsh-Modul definiert ist, wird der Modulname im Popup angezeigt.
Code-Vervollständigung von vordefinierten Zsh Variablen
Code-Vervollständigung von vordefinierten Zsh Variablen
Parameteerweiterungsflags
Ebenso werden gegebenenfalls Flags für die Erweiterung von Parametern vorgeschlagen.
Code completion of Zsh parameter expansion flags
Code completion of Zsh parameter expansion flags
Modifikatoren
Es werden auch Zsh-Variablenmodifikatoren vorgeschlagen.
Code completion of Zsh modifiers
Code completion of Zsh modifiers

Schnelldokumentation

Es wurde viel Zeit und Energie darauf verwendet, eine Schnelldokumentation aller vordefinierten Funktionen von Zsh zu unterstützen. Wir hoffen, dass dies hilft, die hohe Komplexität von Zsh zu bewältigen. Unsere Website bietet die gleichen Informationen auch online.

Dokumentation der vordefinierten Variablen
Dokumentation der Zsh Variable $aliases
Dokumentation der Zsh Variable $aliases
Dokumentation der Parametererweiterungsflags
Dokumentation von Zsh Parametererweiterungsflags
Dokumentation von Zsh Parametererweiterungsflags
Dokumentation von Modifikatoren
Dokumentation von Zsh Modifikatoren
Dokumentation von Zsh Modifikatoren

Run Configurations

Zsh-Skripte können wie alle anderen Shellskript-Dateien ausgeführt werden. Unter Run Configurations erfahren Sie, wie man Skripte mit BashSupport Pro ausführt.

Debugger

zshdb wird verwendet, um das Debugging von Zsh-Skripten zu unterstützen. Wir haben Korrekturen und Verbesserungen zu zshdb beigetragen, um eine bessere Integration mit BashSupport Pro zu erreichen.

Debuggen eines Zsh-Skripts
Debuggen eines Zsh-Skripts

Remoteentwicklung

Remoteentwicklung mit Run Targets wird unterstützt. Sie können Zsh-Shellskripte auf einem entfernten System ausführen und debuggen. Anweisungen dazu finden Sie auf der oben genannten Seite.

Bekannte Beschränkungen

Verglichen mit der Entwicklung von Bash- und POSIX-Skripten gibt es jedoch Einschränkungen.

Unterstützung des Syntax

Der Großteil der komplexen Syntax von Zsh wird von BashSupport Pro richtig analysiert und verstanden.

In der Version 4.0 gibt es bekannte Einschränkungen bei der Syntaxunterstützung und -hervorhebung:

  • Erweiterte Globs
  • Erweiterter Arrayzugriff, z.B. Intervalle
  • Zusätzliche Variablentypen und -flags, z. B. Gleitkommazahlen
  • Möglicherweise mehr von der erweiterten Syntax von Zsh, die wir noch nicht kennen

Inspections und ShellCheck

Da ShellCheck keine Unterstützung für Zsh bietet, werden weniger Warnungen für Zsh-Dateien angezeigt. Leider ist es zeitlich nicht möglich, ShellCheck um Zsh-Unterstützung zu erweitern.

Die eigenen Inspections von BashSupport Pro sind weiterhin für Zsh verfügbar.

Formatierung

BashSupport Pro verwendet shfmt zur Formatierung von Shell-Skripten, aber shfmt unterstützt Zsh nicht. Das Hinzufügen von Zsh-Unterstützung zu shfmt ist zeitlich ebenfalls nicht möglich.

Wir planen, einen eingebauten Formatierer zu BashSupport Pro hinzuzufügen, der in der Lage ist, alle unterstützten Shellskripte zu formatieren und nicht auf shfmt angewiesen ist.

Planung

Die Zsh-Unterstützung wird in zukünftigen Updates verbessert werden. Da es sich um eine riesige Menge an Arbeit handelt, wird es einige Zeit in Anspruch nehmen.

Am wichtigsten ist das vollständige Parsen der Zsh-Syntax und -Formatierung.

Die nächsten Versionen werden Inspections und Quickfixes für die besonderen Funktionen von Zsh hinzufügen.

Bitte geben Sie Feedback, wenn Sie einen Fehler oder eine fehlende Funktion bemerken oder wenn Sie eine Idee haben, wie man die Zsh-Entwicklung verbessern kann.

© 2020–2024 Joachim Ansorg
Impressum
Datenschutz
Rechtliches