Вы не можете одновременно использовать редактирование/историю строки rlwrap
и завершение TAB вашего repl.
rlwrap
обеспечивает редактирование строк, историю и (очень простое) завершение для команд, у которых его нет. Команде, в которой есть что-то такое причудливое, как завершение TAB, не нужно rlwrap
для редактирования строки, не так ли?
Параметр -a
(--always-readline
) — это довольно грубый способ заменить поведение редактирования строки rlwrap на поведение вашей команды. Это в первую очередь предназначено для команд, которые имеют очень простой редактор строк, без, например. история команд
Если вы хотите использовать опцию -a
, потому что вы предпочитаете причудливость rlwrap
(например, постоянную историю или цветные подсказки) вашей команде (например, завершение TAB), продолжайте, но невозможно выбрать какую-то причудливость одного и сохранить некоторые другие. .
Это (небольшая) цена, которую программы (и их пользователи) должны платить за отказ от библиотеки readline
и прилагаемой к ней лицензии GPL.
Ганс (rlwrap
автор)
Изменить (апрель 2017 г.):
Во многих случаях можно будет использовать фильтр для восстановления завершения. . Пример см. в оболочке узла на основе readline. этого.
person
Hans Lub
schedule
09.02.2012