Zum Inhalt springen

Syntaxhervorhebung

Die Syntaxhervorhebung in der CLI ist derzeit nur für macOS und Linux verfügbar.

SQL-Abfragen, die in der Shell geschrieben werden, werden automatisch mit Syntaxhervorhebung dargestellt.

Image showing syntax highlighting in the shell

Mehrere Bestandteile einer Abfrage werden in unterschiedlichen Farben hervorgehoben. Die Farben lassen sich mit Punktbefehlen konfigurieren. Die Syntaxhervorhebung lässt sich auch vollständig mit dem Befehl .highlight off deaktivieren.

Nachfolgend eine Liste der konfigurierbaren Bestandteile.

Typ Befehl Standardfarbe
Schlüsselwörter .keyword green
Konstanten und Literale .constant yellow
Kommentare .comment brightblack
Fehler .error red
Fortsetzung .cont brightblack
Fortsetzung (ausgewählt) .cont_sel green

Die Bestandteile lassen sich entweder mit einem unterstützten Farbnamen konfigurieren (z. B. .keyword red) oder durch direkte Angabe eines Terminalcodes für die Darstellung (z. B. .keywordcode \033[31m). Nachfolgend eine Liste der unterstützten Farbnamen und der zugehörigen Terminalcodes.

Farbe Terminalcode
red \033[31m
green \033[32m
yellow \033[33m
blue \033[34m
magenta \033[35m
cyan \033[36m
white \033[37m
brightblack \033[90m
brightred \033[91m
brightgreen \033[92m
brightyellow \033[93m
brightblue \033[94m
brightmagenta \033[95m
brightcyan \033[96m
brightwhite \033[97m

Hier ein alternatives Farbschema für die Syntaxhervorhebung:

.keyword brightred
.constant brightwhite
.comment cyan
.error yellow
.cont blue
.cont_sel brightblue

Wenn die CLI bei jedem Start mit einem anderen Farbschema starten soll, können Sie diese Befehle in der Datei ~/.duckdbrc ablegen, die beim Start der CLI geladen wird.

Fehlerhervorhebung

Die Shell kann bestimmte Fehler hervorheben. Insbesondere werden nicht zusammenpassende Klammern und ungeschlossene Anführungszeichen in Rot hervorgehoben (oder in einer anderen Farbe, falls angegeben). Diese Hervorhebung wird bei großen Abfragen automatisch deaktiviert. Zusätzlich lässt sie sich manuell mit dem Befehl .render_errors off deaktivieren.