3 Punkte von GN⁺ 2023-11-11 | 1 Kommentare | Auf WhatsApp teilen

Cursorless: außerirdische Magie aus der Zukunft

  • Cadey erwähnt, dass vor dem Arbeitsbeginn im neuen Job Symptome von RSI (Repetitive Strain Injury) auftraten.
  • Die RSI-Symptome waren bereits erwartet worden, und die Person befindet sich derzeit auf dem Weg der Besserung.
  • Als RSI früher auftrat, wurde mit technischem Schreiben darauf reagiert, diesmal wird jedoch Programmierfähigkeit benötigt.
  • Cadey nutzt normalerweise emacs, verwendet diesmal aber Visual Studio Code – wegen einer Erweiterung namens „Cursorless“.

Die magischen Funktionen von Cursorless

  • „Cursorless“ ist ein Plugin, das mit Sprachsteuerungssoftware integriert ist und Codebearbeitung auf AST-Ebene per Sprache ermöglicht.
  • Der magischste Teil von „Cursorless“ ist das Konzept von individuellen Ankern im Dokument, den „Targets“, und von Positionen relativ zu diesen Zielen, den „Destinations“.
  • Für jedes Token im Dokument werden farbige Hüte über den Zeichen angezeigt, sodass Befehle auf Basis der Position, des Ziels und des Pfads dazwischen gegeben werden können.
  • Zum Beispiel kann das Wort „function“ als „green urge“ referenziert werden, um dieses Wort zu löschen oder zu verschieben.

Die wahre Stärke von Cursorless

  • „Cursorless“ kann nicht nur einfache Bearbeitungsaktionen ausführen, sondern versteht auch den AST und kann daher Operationen über ganze Funktionen hinweg durchführen.
  • Zum Beispiel wird das Refactoring einer Funktion zu einer asynchronen Funktion mit „Cursorless“ deutlich einfacher.
  • Cadey beschreibt, dass sich die Befehle durch die wiederholte Nutzung von „Cursorless“ allmählich wie eine zweite Natur anfühlen.

Eigene Befehle schreiben

  • Mit „Cursorless“ und „Talon“ ist es möglich, eigene Befehle zu schreiben.
  • „Talon“-Befehle bestehen aus Patterns (gesprochene Wörter) und Captures (das, was extrahiert werden soll).
  • Anhand der komplexesten „Talon“-Regel wird erklärt, wie man in Go Methoden deklariert.

Ein neuer Versuch, das Pointer-Konzept zu erklären

  • Cadey experimentiert mit den Begriffen „raising“ und „lowering“, um das Pointer-Konzept in Go zu erklären.
  • Als Alternative zur C-ähnlichen Pointer-Syntax von Go wird untersucht, wie sich der Wechsel zwischen Pointer-Werten und normalen Werten mit „raising“ und „lowering“ ausdrücken lässt.

Die Meinung von GN⁺

  • Der wichtigste Punkt dieses Artikels ist, dass die Erweiterung „Cursorless“ die Zugänglichkeit des Programmierens durch Sprachsteuerung verbessert und auch Menschen mit Verletzungen wie RSI das Coden ermöglicht, wenn Tippen schwierig ist.
  • Besonders interessant ist „Cursorless“, weil es eine innovative Methode bietet, Code per Sprache zu bearbeiten, und damit neue Möglichkeiten für die Zukunft der Softwareentwicklung eröffnet.

1 Kommentare

 
GN⁺ 2023-11-11
Hacker-News-Kommentare
  • Überraschung des Autors und Teilen seines experimentellen Talon-Repositoriums

    Der Autor zeigt sich überrascht darüber, dass sein Beitrag so populär geworden ist, und teilt sein GitHub-Repositorium zu Talon-Experimenten.

  • Code-Manipulation mit Talon und der Nutzen von Sprachbefehlen

    Dass Talon mithilfe des tree-sitter-AST „Teile“ von Code manipuliert, ähnelt den textobjects von Vim, ergänzt um eine Sprachkomponente. Interessant ist die Funktion, über Sprachbefehle andere Aufgaben einzuplanen, während man die Tastatur bedient.

  • Vergleich mit avy, das statt Sprache die Tastatur nutzt

    Es funktioniert ähnlich wie avy, verwendet jedoch Sprache statt der Tastatur und ist mit AST-erkennenden Befehlen kombiniert.

  • Link zu einer Demo zum Programmieren per Sprache und Ausdruck der Begeisterung

    Es wird ein Link zu einem Demo-Video zum Programmieren per Sprache geteilt sowie erwähnt, wie faszinierend dieses Video wirkt.

  • Strange-Loop-Vortrag mit Überblick über Cursorless und praktischen Anwendungsbeispielen

    Ein Link zu einem Strange-Loop-Vortrag, der einen allgemeinen Überblick über Cursorless gibt und die tatsächliche Nutzung zeigt.

  • Unterstützung für die Entwicklung von Cursorless und Gefühl einer persönlichen Nutzungshürde

    Es wird Unterstützung für die Entwicklung von Cursorless ausgedrückt, zugleich aber auch das Gefühl, dass die mentale Einstiegshürde für die tatsächliche Nutzung hoch ist.

  • Neugier auf die Auswahl bestimmter Sprachbefehle

    Es wird gefragt, warum bestimmte Wörter wie „urge“ und „bat“ gewählt wurden und ob auch andere Wörter mit den entsprechenden Anfangsbuchstaben verwendet werden könnten.

  • Frage nach der Möglichkeit, die Cursorposition mit Eye-Tracking anzupassen

    Es wird die Frage aufgeworfen, wie weit Eye-Tracking-Technologie derzeit ist und ob sich der Cursor an die Stelle setzen lässt, auf die man blickt.

  • Geteilte Erfahrung mit RSI und Verbesserung durch Änderung des Tippstils

    Es wird eine persönliche Erfahrung mit RSI geschildert: Zwar wurden verschiedene ergonomische Werkzeuge ausprobiert, den größten Effekt hatte jedoch eine Änderung der eigenen Tippweise.