]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
Очередная итерация настройки дополнения в zsh
authorSergey Matveev <stargrave@stargrave.org>
Sun, 12 Aug 2018 08:08:22 +0000 (11:08 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 12 Aug 2018 08:19:13 +0000 (11:19 +0300)
Настройка completion системы в zsh имеет большой подвох: не сразу
понятно всё ли происходит как надо и устраивает тебя. Сколько я вот не
подступал к настройке, но через несколько дней спустя всё-равно
находился какой-нибудь недостаток.

В 97fc236730a0d0afa6b13e097848f92d7892bc7b писал что вроде как
дополнение _files после _completion решает проблему с тем, что можно
делать info <PATH><TAB> и путь будет дополняться, а не ожидать только
того, что есть в $INFOPATH. Однако:

* для некоторых команд типа sha1/sha256 дополнение пути не работает.
  Видимо в completion для этих команд прописано что на первом месте
  должно идти... я даже не знаю что, так как всю жизнь использовал
  указывая путь к файлу. А эти команды вызываются хотя бы раз в день
* особенно для команд git-а, типа checkout, идут большие тормоза (а у
  меня SSD!). Это тоже нервирует

Сегодня очередная итерация попытки настройки.

    zstyle ":completion:*" completer _cmdstring _parameters _ignored _files

пока похоже что делает то, что надо. _cmdstring дополняет имена команд,
а дальше пути к файлам. _parameters дополняет переменные окружения, как
минимум (не то чтобы очень надо, но вроде работает и, считай,
бесплатно). _files дополняет пути до файлов, как и прежде. Пока
недостатков не заметил.

Кроме того, так как мне блюсти изменения .zshrc всё же надо, то вынес
его конфиги в отдельный репозиторий https://git.stargrave.org/cgit.cgi/zsh-dotfiles.git/tree/.zshrc


No differences found