Snippets
Befehle, die man ständig braucht — gebunden an einen Host, eine Gruppe, ein Tag oder gar nichts. Strg+Umschalt+P öffnet die Palette, drei Buchstaben genügen: „wfr“ findet „WildFly Restart“.
Geltungsbereiche
Ein Snippet kann an mehreren Stellen zugleich gelten. Sortiert wird nach Nähe: Was direkt an diesem Host hängt, steht oben, dann Gruppe, dann Tag, dann global. Gruppenbindungen vererben sich an Untergruppen.
Gebunden wird über eine Auswahl mit Suche, nicht über
eingetippte IDs. Das Gewählte steht als Chips darunter und lässt sich
einzeln wieder wegnehmen. Der Unterschied ist nicht Bequemlichkeit:
Eine abgeschriebene hst_9f3a… mit einem Zeichen daneben
gibt keinen Fehler, sondern ein Snippet, das für nichts mehr gilt — und
den Grund sucht man an der falschen Stelle.
Tags sind der Sonderfall: Sie sind frei erfundene Wörter, dort lässt sich auch etwas eintragen, das es noch nicht gibt.
Die Palette
Wer einen Servernamen tippt, bekommt Hosts angeboten — über den Snippets, weil „verbinden“ dann die häufigere Absicht ist. Ein Einstieg statt zwei: Man will etwas tippen und nicht vorher entscheiden, in welcher Liste es steht.
Nicht auf Strg+K. Das ist in readline „bis Zeilenende löschen“ — derselbe Konflikt wie bei Strg+A. Die Palette liegt deshalb auf Strg+Umschalt+P und Strg+Umschalt+K; auf macOS zusätzlich auf Cmd+K, wo es keinen Konflikt gibt. Plain Strg+K lässt sich in den Einstellungen dazuschalten.
Platzhalter
{{name}} wird vor dem Ausführen abgefragt, vorbelegt aus
den Umgebungsvariablen des Hosts — und geshell-quotet.
Vorlage: systemctl restart {{dienst}}
Eingabe: wildfly; reboot
Ergebnis: systemctl restart 'wildfly; reboot'
# ein Argument, kein zweiter Befehl
Die Vorschau zeigt die fertige Zeile, nicht die Vorlage. Wer bewusst
mehrere Argumente einsetzen will, schreibt {{!name}} und
übernimmt die Verantwortung.
Das Quoting ist die Stelle, an der aus einem Komfortmerkmal eine Injektionslücke wird. Wer daran etwas ändert, muss die Snippet-Testsuite laufen lassen — sie sagt, welche Fälle abgedeckt sind.
Tastenkürzel
Ein Snippet kann auf Strg+Umschalt+1 bis 9, 0 und F1 bis F12 liegen. Nur diese Tasten: Alles andere gehört readline oder der Gegenstelle, und ein Snippet auf Strg+C nähme einem das Abbrechen weg.
Pakete
Eine Sammlung als lesbare Datei — zum Weitergeben, zum Sichern, zum Mitnehmen. Vor dem Einspielen zeigt tessera, was drinsteht, und markiert die Stellen, an denen Platzhalter ungeschützt eingesetzt werden.
Was in einem Paket steht, sind Befehle, die später auf einem Server laufen; sie ungesehen zu übernehmen wäre das Gegenteil von dem, was tessera sonst tut.
Geltungsbereiche kommen nicht mit — sie zeigen auf Host- und Gruppen-IDs, die es beim Empfänger nicht gibt.