2010-12-15 2 views
1

У меня есть пара функций, установленных в моем профиле zsh, которые позволяют мне сохранять псевдонимы в каталогах «на лету». Это довольно просто - просто добавляет псевдоним к компакт-диску в каталог ~/.dirs, который получает исходный код.Zsh: Сделать определенный набор псевдонимов имеют приоритет в предложениях по завершению

Возможно ли, что в zsh сделать псевдонимы, которые поступают из этого файла, имеют приоритет в предложенных вкладках? Например, там есть псевдоним, называемый «printeffect». Если я набираю «printe» и «hit tab», первое предложение для завершения - «printenv». Я хочу, чтобы это было «printeffect».

ответ

0

Это должно работать:

  • массив, содержащий текущие специальные псевдонимы, вам только нужно переопределить массив при переключении директорий

    typeset -U MY_DIR_ALIASES 
    MY_DIR_ALIASES=(foo1 foo2 foo3 foo-etc) 
    
  • функция пользовательского завершившим _foo (имя файла _foo) завершение, когда курсоры в положении -commands-:

    _foo() { 
        cmds=($MY_DIR_ALIASES) 
    _describe -commands- cmds 
    } 
    

    Или, если вы сохраняете это в файле с именем _foo:

    #compdef -command- 
    # -*-shell-script-*- 
    cmds=($MY_DIR_ALIASES) 
    _describe -commands- cmds 
    
  • делает эту функцию завершающего быть побежал перед любым другим:

    zstyle ':completion:::::' completer _foo _complete _approximate 
    

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

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