Существует ли эквивалент Perl для ido-дополнения Emacs?

StackOverflow https://stackoverflow.com/questions/409587

Вопрос

Я создал ряд вспомогательных функций для конкретной работы, которые могут быть полезны другим членам моей команды&mdash.Но я написал их все в Elisp Emacs, и конвертировать их из Notepad++ НЕ получится.

Итак, я думаю преобразовать функции в Perl.Без проблем.

За исключением того, что я все время использую ido-дополнение, чтобы ограничить ответы:

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

РЕДАКТИРОВАТЬ:ido-completing-read похож на завершение-прочтение, за исключением того, что все параметры видимы и могут быть выбраны с помощью циклического нажатия [обычно клавиш со стрелками] или завершения ввода.В приведенном выше примере приглашение будет выглядеть так:

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

выбор можно сделать для самого левого элемента, нажав RET или частично набрав (в этом случае все первые буквы уникальны, так что это все, что нужно, и соответствующий элемент станет самым левым).

nil в примере — неиспользуемый параметр, но «t» требует точного соответствия — например, пользователь должен сделать один из вариантов выбора.Функция возвращает строку, например «IniTrade».

Мои «вспомогательные функции» предназначены для внутренних нужд — открытия определенного журнала ошибок, восстановления пакета на сервере и т. д.Для этих операций пользователю необходимо указать тестовую или производственную среду, клиента, стадию и т. д.Почти во всех случаях это выборки строк, которые используются для создания другой команды оболочки.Если возвращается числовой элемент, его, в свою очередь, можно повторно преобразовать в строку, но поскольку выборки обычно представляют собой требуемую строку, было бы неплохо, если бы этот шаг можно было пропустить.[конец РЕДАКТИРОВАНИЯ]

Есть ли эквивалент Perl?я посмотрел Термин::Подсказка который предлагает нумерованное меню...самый близкий, который я нашел.Это не так красиво, как ido-дополнение, и мне все равно придется преобразовывать числовой результат обратно в строку (не такая уж большая проблема;просто раздражает).

Составляя это, я заметил, что использовал термин «меню», поэтому поискал еще немного и придумал Термин::Меню. Я еще не пробовал этот.

Это было полезно?

Решение

Term::ReadLine может делать то, что вы ищете, хотя это, вероятно, больше похоже на «завершение чтения», чем на «идо-завершение чтения».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top