[О блоге] [наверх] [пред] [2021-07-13 22:53:57+03:00] [ce73d270aa2555a55f6f64ecc516aeeec1681081]
Темы: [tip][zsh]

Очередные улучшения completion-а zsh

Если выставить zstyle ":completion:*:descriptions" format "%d"
то при отработке какого-то completer-а будет выводиться его название и
можно будет увидеть что вообще было найдено (дополнение команды, пути,
man-а там). Но я не хочу чтобы он загромождал экран во время дополнения
путей, как самых часто используемых. Легко решается выставлением только
для нужных completer-ов этой настройки (она ещё будет жирным цветом
показывать сообщения):
    zstyle ":completion:*:man:*:*:descriptions" format "%B... %d%b"
    zstyle ":completion:*:parameters:*:*:descriptions" format "%B... %d%b"
Если ничего нигде не было найдено, то можно добавить вывод сообщения об
этом, чтобы чётко понимать что completer-ы честно отработали, а не это я
забыл нажать на кнопку дополнения:
    zstyle ":completion:*:warnings" format "%F{red}no matches: %d%f"
А ещё сообщения нужно/можно сгруппировать, чтобы выводились отдельно
сообщения descriptions, далее найденные в этой группе предложения:
    zstyle ":completion:*" group-name ""
А конкретно у man completer-а есть своя собственная настройка
разделяющая запрос по секциям:
    zstyle ":completion:*:manuals" separate-sections true

Проделав всё это:

    % man write<TAB>
    ... manual page, section 1 (general commands)
    write
    ... manual page, section 2 (system calls)
    write   writev

    % man ports<TAB>
    ... manual page, section 5 (file formats and conventions)
    portsnap.conf
    ... manual page, section 7 (miscellanea)
    ports
    ... manual page, section 8 (maintenance commands and procedures)
    portsnap

    % echo GO<TAB>
    ... parameter
    GOCACHE  GOPATH   GOPROXY  GOSUMDB

    % echo something<TAB>
    no matches: `file' or `parameter'

    [оставить комментарий]