2016-10-10 3 views
0

Я пытаюсь изменить стандартную логику, используемую fish, чтобы найти окончание имени файла. В частности, я хочу, чтобы fish не рассматривал любое имя файла, которое заканчивается символом тильды (~), поскольку это файлы резервных копий emacs и не интересны.Какая функция рыбы контролирует завершение имен файлов и как я могу ее изменить?

Я предположил, что список возможных завершений будет предоставлен функцией fish, которую я мог бы затем отредактировать, чтобы удалить те, которые заканчиваются тильдами. Но я не могу найти функцию. Я просмотрел документацию на fishshell.com, и я также попробовал functions | grep complete. Какую функцию мне следует редактировать?

ответ

2

В отличие от большинства завершений завершения имени файла не выполняется как функция; он запекается в код на C++. См. Метод completer_t::complete_param_expand() в файле src/complete.cpp. Если вы можете сделать убедительный аргумент в отношении того, как этот тип настройки будет реализован, я бы посоветовал вам open an issue.

P.S., Обратите внимание, что functions не будет отображать частные функции, если вы не вызываете его как functions -a. Я упоминаю об этом, потому что многие функции завершения отмечены частными, называя их имя символом подчеркивания.

 Смежные вопросы

  • Нет связанных вопросов^_^