Texteditor Emacs 29.1 bindet Tree-Sitter ein und arbeitet direkt mit SQLite

Der freie Texteditor Emacs integriert die Library Tree-Sitter zum Parsen, und das Modul Eglot bringt eine Anbindung an das Language Server Protocol.

In Pocket speichern vorlesen Druckansicht 19 Kommentare lesen
Lesezeit: 3 Min.

Das Emacs-Team hat Version 29.1 des freien Texteditors veröffentlicht. Das Release ist das erste der 29-er Reihe, da Emacs traditionell keine x.0-Versionen kennt. Die aktuelle Version bringt zwei Änderungen, die vor allem für Developer interessant sind: eine Integration der Parsing-Library Tree-Sitter und das Package Eglot für das Zusammenspiel mit dem Language Server Protocol.

Außerdem kann der Editor direkt mit SQLite-Datenbanken zusammenarbeiten. Bisher waren dazu externe Pakete erforderlich, aber mit der aktuellen Version kann man die Library sqlite3 direkt beim Build integrieren.

Die Open-Source-Library Tree-Sitter dient zum Parsen von Sourcecode oder anderen Inhalten wie Markdown. Sie ist unter anderem auf die Integration in Texteditoren ausgelegt, und GitHub hatte Tree-Sitter in seinen Sourcecode-Editor Atom integriert, den es 2022 in Rente geschickt hat.

Emacs benötigt zum Parsen neben der Library die passenden Module für die jeweiligen Programmiersprachen, die über das GitHub-Repository der Bibliothek verfügbar sind. Der neue Emacs-Befehl treesit-install-language-grammar automatisiert die Installation: Er lädt die Sprachanbindung aus dem jeweiligen Repository herunter und kompiliert den Code.

Das Language Server Protocol (LSP) ist eine einheitliche Schnittstelle zwischen Entwicklungsumgebungen oder Editoren und lokalen Servern für spezifische Programmiersprachen. Die LSP-Server liefern den in den Tools integrierten LSP-Clients kontextabhängige Informationen, unter anderem für Autovervollständigung oder Syntaxhervorhebung. Red Hat, Codenvy und Microsoft hatten das Language Server Protocol 2016 vorgestellt, und inzwischen bieten alle großen IDEs eine Anbindung.

Das Paket Eglot zieht nun offiziell als Client für die Anbindung an das Language Server Protocol in Emacs Core ein. Die künftige Entwicklung findet zwar nicht mehr über das GitHub-Repository von Eglot statt, aber es führt weiterhin die Dokumentation und Links zu LSP-Servern für diverse Programmiersprachen auf.

Eine neue Option ermöglicht das Update der direkt in Emacs integrierten Pakete wie Eglot: Wenn package-install-upgrade-built-in gesetzt ist, bezieht der Befehl package-install die Installation aktualisierter Built-in-Pakete mit ein.

Nennenswert ist zudem, dass man das User-Verzeichnis neuerdings beim Start über den Kommandozeilenparameter --init-directory setzen kann.

Weitere Neuerungen und Änderungen finden sich in der NEWS-Datei zu Emacs 29.1. Der Texteditor steht auf den GNU-Mirror-Servern zum Herunterladen bereit. Die Emacs-Download-Seite bei GNU zeigt zudem andere Möglichkeiten, die Software für unterschiedliche Betriebssysteme herunterzuladen.

(rme)