Как стать автором
Обновить

Комментарии 20

НЛО прилетело и опубликовало эту надпись здесь
подсветил
НЛО прилетело и опубликовало эту надпись здесь
COMPREPLY=($(compgen -W "`ls ${HOME}/projects`" — ${cur}))
Можете подсказать, почему здесь не воспользовались опцией "-d"?
Потому что синтаксис предполагает имена проектов, а не пути к ним. Поскольку в модели каждому проекту соответствует директория в ~/projects, их имена невозбранно выдираются ls'ом. Подставление произвольной директории туда — неверно по идеологическим причинам.

Ну и хотелось показать возможность подставления произвольных данных =)
холивар! может лучше просто zsh поставить? :)
а вообще круто, конечно
чем zsh тут поможет?
ну, в нем автокоплит многое (в том числе большую часть описанного в статьях) умеет из коробки без дополнительных изощрений.
+ еще очень много всяких крутых штук, которые к башу прикручивать замучаешься, но это уже оффтоп
ну тут речь идет именно о кастмных комплишенах, которые zsh сам по себе уметь не может.
если в script добавить --help который опишет все варианты, то zsh сможет сама сгенерировать автокомплит, например
НЛО прилетело и опубликовало эту надпись здесь
так кто бы спорил :)
НЛО прилетело и опубликовало эту надпись здесь
скорее в «линукс для всех»
для shells всёже поосновательнее статью надо.
в shells стоит сделать выжимку из этих двух статей — будет самое то.
А «linux для всех» — не совсем то, «домашним» пользователям нафиг не нужен комплишн.
При написании автодополнения я столкнулся с такой проблемой:
Некоторые агументы могут иметь двоеточие в середине, например у меня есть второй аргумент «foo:bar».
Когда я ввожу «fo», аргумент дополняется до «foo:» и при последующем нажатии на tab дополнение не проиходит так как COMP_CWORD равно не двум, а трём. То есть двоеточие выступает как разделитель.
Можно ли как-то обойти эту пробелму?
Если кому-то интересно, нашел вот такое решение
COMP_WORDBREAKS=${COMP_WORDBREAKS//:}
Извиняюсь за вопрос не в тему. А можно ли сделать что-то вроде алиаса аргумента команды в bash?
Например, в команде «du -h --max-depth 0 /home» заменить аргумент "--max-depth" на фряшный "-d"?
Заранее, спасибо!
насколько я знаю — нет.
но можно сделать алиас на команду с аргументами, если приходится ее часто запускать.
Чем генерил картинку?
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории