MRMCD 2023

Woher weiss die shell was sie tun soll wenn ich TAB drücke?
09-01, 19:00–19:30 (Europe/Berlin), C120 - Arcane room
Language: Deutsch

Tab-completion ist eine tolle Sache, aber woher weiss die shell eigentlich was sinnvolle Vervollständigungsvorschläge sind, und was nicht? Ich möchte einen kleinen Überblick darüber geben welche Mechanismen es da gibt, und wo ich Vor- und Nachteile unterschiedlicher Methoden gibt.


Es gibt von Hand geschriebene Completion functions, Heuristiken die USAGE-Printout parsen, Code Generierung, Callbacks zwischen shell und Programm… Und diese Varianten stellen unterschiedliche Anforderungen an Software-Maintainer*innen, downstream Contributer*innen, Paktetierer*innen von Linux Distributionen. Und natürlich soll auch der Einfluss auf Latenzen erwähnt werden.

Das ganze aus der Sicht eines zsh-Nutzers der das rust-crate clap ziemlich cool findet, ich möchte mich aber auf allgemeine Problemstellungen und Lösungen konzentrieren, die auch für andere Programmiersprachen und shells relevant sind.

I'm a zsh user and pretty locked-in by now.

In the past I optimized C++ for vectorization of real time data analysis at CERN. Now I work with rust in IT at sevensense robotics.