Open Source im professionellen Einsatz

Vim 8 mit asynchroner Kommunikation

14.04.2016

Für die neue Major-Release 8 des Editors Vim haben die Entwickler mit asynchroner Kommunikation, Jobs und einem eigenen Paketmanagement große Pläne.

392

Aufgrund der steigenden Anzahl von Plugins haben sich die Entwickler des Editors Vim dazu entschlossen, ein eigenes Paketsystem einzuführen. Das soll es aus Sicht des Anwenders vereinfachen, Neue zu installieren, nicht mehr Benötigte wegzuwerfen oder die vorhandenen aktuell zu halten. Beim Start lädt der Editor dann nur noch die Pakete, die er für die aktuelle Umgebung und das Bearbeiten einer bestimmten Datei braucht.

Weiterhin möchten die Entwickler um Bram Moolenaar es ermöglichen, aus dem Editor heraus sogenannte Jobs zu starten. So wäre der Benutzer in der Lage, unabhängig von seiner derzeitigen Arbeit Software zu kompilieren oder andere Automatismen anzustoßen, die dann im Hintergrund ablaufen. Partials und Timers ermöglichen es, solche Hintergrundprozess zeitgesteuert und bei Bedarf mit Argumenten zu starten. Die beiden Funktionen stehen aber auch unanhängig davon bereit.

Im Hintergrund findet ebenfalls die geplante asynchrone Kommunikation statt. Diese versetzt die Software in die Lage, während er auf eine Eingabe wartet, mit anderen Prozessen über sogennante Kanäle Daten auszutauschen. Diese Kanäle kommen auch zum Einsatz, um mit den bereits genannten Jobs zu kommunizieren.

Als Format für die Kommunikation darf der Anwender dabei unter anderem JSON verwenden. Es sei gut geeignet für die Interprozesskommunikatio, gut unterstützt und einfach zu verwenden. Zwei neue Funktionen ermöglichen es künftig aller Voraussicht nach, Daten in diesem Format zu kodieren oder zu dekodieren. Auf diese Weise ließen sich außerdem Server-Prozesse ansprechen.

Mit der kommenden Version 8 beenden die Entwickler den Support für MS-DOS. Außerdem wird es Änderungen bei den Plugins geben, die zum Erkennen des Dateityps dienen. Eindeutige IDs für die Fenster des Editors erleichtern zukünftig das Auffinden eines bestimmten Buffers. Bislang änderte sich die Nummer jedesmal, wenn ein Benutzer das Fenster verändert oder beendet und wieder geöffnet hatte.

Die neue Option breakident erlaubt es, den Text einer Datei für die Darstellung zu umbrechen, wobei aber die Einrückungen erhalten bleiben. Das komplette Dokument mit den Vorschlägen für die kommende Version befindet sich im Git-Repository des Projekts. Es ist ausdrücklich Gegenstand von Änderungen, was bedeutet, dass nicht alle Neuerungen es bis in die nächste Version schaffen. Wer am Ball bleiben möchte, trägt sich am einfachsten auf der Entwicklerliste oder der Liste für Ankündigungen ein.

Ähnliche Artikel

  • Web-Beschleunigung

    Nach der Ajax-Revolution im Browser steht eine Modernisierung der Server-Seite an. Auch dort sollen asynchrone Requests zu schnelleren und besser skalierenden Webanwendungen führen. Der Jetty-Server hat dazu Continuations implementiert, Cometd bietet einen Standard.

  • Mono 3.0 ermöglicht asynchrones Programmieren

    Die freie Dotnet-Umsetzung Mono ist in Version 3.0 veröffentlicht worden.

  • Reactive Programming

    Im Juli 2013 veröffentlichte der Software-Unternehmer Jonas Bonér zusammen mit einigen Mitstreitern das Reactive Manifesto. Nur wenige Monate später war der Begriff schon in aller Programmierer Munde. Dabei ist das scheinbar neue Konzept schon weitaus älter.

  • Atom 1.3: Schneller und portabel

    Vor allem schneller: Githubs Atom-Editor ist in Version 1.3 erschienen und steigert die Startgeschwindigkeit um 20 bis 30 Prozent. Dabei helfen verschiedene Verbesserungen. Eine portable Version gibt es auch für Linux.

  • KDE-Unterprojekt zur Echtzeit-Kommunikation gegründet

    Chat, Instant Messaging und Video-Telefonie: Das KDE Real-time Communication and Collaboration (RTCC) Project möchte Echtzeit-Kommunikation besser in die freie Desktopumgebung integrieren.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.