Frage

Ich habe eine Reihe von arbeitsspezifischen Hilfsfunktionen aufgebaut, die für die anderen Mitglieder des Teams & mdash nützlich sein könnte. Aber ich habe sie alle in Emacs' Elisp geschrieben, und bekommen sie aus dem Editor zu konvertieren ++ wird nicht passieren.

Also, ich denke, um die Funktionen zu Perl konvertieren. Kein Problem.

Wenn ich nicht verwenden Ido-Abschluss der ganze Zeit Antworten zu begrenzen:

  (setq client (ido-completing-read "Select a Client: " '("IniTrade" "HedgeCorp" "GlobalTech" "OCP") nil t))

EDIT: Ido-Abschluss-lesen ist ähnlich wie Abschluss -read , mit der Ausnahme, dass alle Optionen sichtbar sind, und können über Radfahren [Pfeil-Tasten, in der Regel] oder Eingabe-Abschluss ausgewählt werden. In dem obigen Beispiel würde die Aufforderung aussieht

  Select a Client: {IniTrade | HedgeCorp | GlobalTech | OCP}

Auswahl kann durch das Drücken RET auf dem am weitesten links stehenden Artikel hergestellt wird, oder durch partielle Typisierung (in diesem Fall sind die ersten Buchstaben alle einzigartig, so dass ist alles, was benötigt würde, und das passende Element würde die links- die meisten).

nil im Beispiel ist ein nicht verwendeter param, aber „t“ erfordert eine exakte Übereinstimmung - zum Beispiel muss der Benutzer eine der Auswahlmöglichkeiten machen. Die Funktion gibt eine Zeichenfolge wie „IniTrade“.

Meine „Hilfsfunktionen“ für interne Bedürfnisse sind - ein bestimmtes Fehlerprotokoll, die Wiederherstellung ein Batch an den Server öffnen, usw. Für diese Operationen muss der Benutzer Test- oder Produktionsumgebung spezifizieren, Client, Bühne usw. fast allen Fällen sind diese Zeichenfolge Auswahl, die für den Bau eines weiteren Shell-Befehl verwendet werden. Wenn ein numerisches Element zurückgegeben wird, übersetzt erneut das könnte wiederum werden in einen String - aber da die Auswahl in der Regel der erforderlichen Zeichenfolge sind, wäre es schön, wenn dieser Schritt übersprungen werden. [Ende EDIT]

Gibt es ein Äquivalent Perl? Ich habe sah Term :: Prompt das bietet ein nummerierte-Menü ... am nächsten ich gefunden habe. Das ist nicht so schön wie Ido-Abschluss, und ich würde immer noch ein numerisches-Ergebnis zurück in einen String umwandeln muß (kein großes Problem, nur ärgerlich).

das beim Komponieren, bemerkte ich, ich den Begriff ‚Menü‘ verwendet wird, so haben einige weitere Suche und kam mit Term :: Menüs. ich habe diese ein noch nicht ausprobiert.

War es hilfreich?

Lösung

Term :: Readline kann das tun, was Sie suchen, obwohl es wahrscheinlich mehr wie ‚Abschluss-lesen‘ als ‚Ido-Abschluss-lesen‘.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top