Menü
Developer

Sourcecode-Editor: Atom 1.32 wechselt den Parser

Der inkrementelle Parser Tree-Sitter ist nun standardmäßig aktiviert. Gleichzeitig benötigt Atom weniger Speicher.

vorlesen Drucken Kommentare lesen 17 Beiträge
Sourcecode-Editor: Atom 1.32 wechselt den Parser

GitHub hat Version 1.32 des Quellcode-Editors Atom veröffentlicht. Das Release bringt nach außen vor allem eine wesentliche Neuerung mit: Der inkrementelle Parser Tree-Sitter ist jetzt standardmäßig aktiviert. Unter der Haube haben die Macher zudem den Speicherbedarf für den Haupt- und Renderprozess von Atom um jeweils 45 MByte reduziert. Dafür haben sie die Skripte für den beim Start verwendeten V8-Startup-Snapshot optimiert. Atom baut auf das Electron-Framework, das Desktopanwendungen mit JavaScript erlaubt.

Der inkrementelle Parser Tree-Sitter ist bereits seit der im März veröffentlichten Version 1.25 Bestandteil des stabilen Atom-Release. Er baut beim Parsen des Sourcecodes Syntaxbäume auf und soll vor allem das Code Folding, also das Ein- und Ausblenden von Codeblöcken, deutlich verbessern. Der alte Parser orientierte sich dafür lediglich an den Einrückungen, was oft zu unerwünschten oder zumindest unklaren Ergebnissen führte.Tree-Sitter kann für Methoden wahlweise die Parameter, den Methodenkörper oder beides ausblenden. Atom verwendet Tree-Sitter neben dem Code auch für die Syntaxhervorhebung.

Im vergangenen halben Jahr haben haben die Entwickler an der Stabilität und Performance des Parsers gefeilt, der anfangs standardmäßig abgeschaltet war, da er den Editor im Vergleich zum alten Verfahren zu stark ausgebremst hatte. Seit Atom 1.29 läuft Tree-Sitter in einem Hintergrund-Thread und beeinträchtigt daher nicht mehr die Reaktionsgeschwindigkeit und Frame Rate des Editors.

Mit dem Tree-Sitter halten zwei neue Befehle zur Auswahl von Code-Blöcken Einzug in den Editor: Select Larger Syntax Node und Select Smaller Syntax Node. Tree-Sitter kennt im aktuellen Release elf Programmiersprachen beziehungsweise Kommandozeilen: Bash, C, C++, ERB, EJS, Go, HTML, JavaScript, Python, Ruby und TypeScript.

Weitere Details lassen sich dem Atom-Blog entnehmen. Die vollständige Liste der Neuerungen findet sich in den Release Notes. Dort sind auch Binaries für unterschiedliche Plattformen sowie der als ZIP-Archiv gepackte Sourcecode zu finden. (rme)