Менеджер плагинов для рыбы - ваша дружественная интерактивная оболочка. Загрязнить свежие плагины!
Возьмите под контроль функции, завершения, привязки и фрагменты из командной строки. Выполните истинный потенциал вашей оболочки, идеально подготовьте свою подсказку и ремесленные повторяемые конфигурации в разных системах. Ноль воздействия Фишера на стартап раковины сохраняет вашу раковину и отзывчив. Никаких уловок, просто плавное плавание!
☝ Обновление с Fisher
3.x
или старше? Строитель и прочитайте это!
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
Фишер позволяет устанавливать, обновлять и удалять плагины, как босс. Получите вкладку Fish's Tab и богатый синтаксис, подчеркивающий, пока вы находитесь в ней.
Чтобы установить плагины, используйте команду install
и укажите ее на репозиторий GitHub.
fisher install jorgebucaran/nvm.fish
Хотите установить из Gitlab? Нет проблем - просто подготовить
gitlab.com/
к пути плагина.
Вы также можете выяснить определенную версию плагина, добавив символ @
после имени плагина, за которым следует тег, ветвь или коммит.
fisher install IlanCosman/tide@v5
И эй, вы можете установить плагины из локального каталога!
fisher install ~/path/to/plugin
Берегись! Фишер расширяет плагины в каталог конфигурации рыбы по умолчанию, перезаписывая существующие файлы. Если это не ваше варенье, установите
$fisher_path
в ваше предпочтительное место и поместите его в свой путь функции (#640).
Используйте команду list
, чтобы увидеть все ваши блестящие установленные плагины.
$ fisher list
jorgebucaran/fisher
ilancosman/tide@v5
jorgebucaran/nvm.fish
/home/jb/path/to/plugin
Команда list
также хорошо воспроизводит регулярные выражения для фильтрации вывода.
$ fisher list ^ /
/home/jb/path/to/plugin
update
команду на помощь! Он обновляет один или несколько плагинов для их последней и лучшей версии.
fisher update jorgebucaran/fisher
Просто введите
fisher update
, чтобы обновить все одним махом.
Попрощайтесь с установленными плагинами с командой remove
.
fisher remove jorgebucaran/nvm.fish
Чувствуя себя разрушительным? Вытрите все, включая самого Фишера.
fisher list | fisher remove
fish_plugins
Всякий раз, когда вы устанавливаете или удаляете плагин из командной линии, Fisher записывает все установленные плагины в $__fish_config_dir/fish_plugins
. Добавьте этот файл в свой DotFiles или управление версиями, чтобы легко поделиться вашей конфигурацией в разных системах.
Вы также можете отредактировать этот файл и запустить fisher update
для совершения изменений, таких как профессионал:
$EDITOR $__fish_config_dir/fish_plugins
jorgebucaran/fisher
ilancosman/tide@v5
jorgebucaran/nvm.fish
+ PatrickF1/fzf.fish
- /home/jb/path/to/plugin
fisher update
Это установит patrickf1 / fzf.fish , удалить / home / jb / path / to / plugin и обновить все остальное.
Плагины могут включать любое количество файлов в functions
, conf.d
и каталогах completions
. Большинство плагинов - это всего лишь единственная функция или фрагмент конфигурации. Вот анатомия типичного плагина:
флиппер ├ack завершают │ └ack -Flipper.fish Conf.D. │ └ack -Flipper.fish └ функции функций Flipper. Рыбка
Файлы и каталоги не .fish
Рфиска в этих местах будут скопированы в $fisher_path
в рамках functions
, conf.d
или completions
соответственно.
Fish Events уведомляет плагины, когда они установлены, обновляются или снимаются.
Имейте в виду, что функции
--on-event
должны быть загружены, когда их событие испускается. Итак, поместите обработчики ваших мероприятий в каталогconf.d
# Defined in flipper/conf.d/flipper.fish
function _flipper_install --on-event flipper_install
# Set universal variables, create bindings, and other initialization logic.
end
function _flipper_update --on-event flipper_update
# Migrate resources, print warnings, and other update logic.
end
function _flipper_uninstall --on-event flipper_uninstall
# Erase "private" functions, variables, bindings, and other uninstall logic.
end
Тема похожа на любой другой плагин с рыб, но с файлом .theme
в каталоге themes
. Темы были введены в Fish 3.4
и работают с fish_config
Buildin. Тема также может иметь файлы в functions
, conf.d
или, если это completions
. Посмотрите, как выглядит типичный плагин темы:
жабры Conf.D. │ └ └мобив Gills.shish └acke Themes └ack Gills.Theme
$fisher_path
с темами Если вы настраиваете $fisher_path
для использования каталога, отличного от $__fish_config_dir
, ваши темы не будут доступны через fish_config
. Это потому, что Fish ожидает, что ваши темы будут в $__fish_config_dir/themes
, а не $fisher_path/themes
. Это еще не настраивается в рыбе, но есть запрос добавить эту функцию.
Не бойтесь! Вы можете легко решить это, сочувствуя каталогу themes
Фишера в конфигурации рыбы. Во -первых, резервную копию любого существующего каталога тем.
mv $__fish_config_dir/themes $__fish_config_dir/themes.bak
Далее создайте символическую ссылку для каталога тем Фишера.
ln -s $fisher_path/themes $__fish_config_dir/themes
Хотите использовать плагины темы и поддерживать свои собственные локальные темы? Вы тоже можете сделать это (#708).
В то время как Фишер не полагается на центральный репозиторий плагинов, обнаружение новых плагинов не должно чувствовать себя навигациями на неизведанных водах. Чтобы повысить видимость вашего плагина и облегчить поиску пользователей, добавьте соответствующие темы в ваш репозиторий с помощью fish-plugin
. Таким образом, вы не только вносите свой вклад в сообщество Fisher, но и позволяете пользователям изучать новые плагины и улучшить их опыт раковины. Не позволяйте Plugin Discovery быть подозрительным бизнесом, отметьте свои плагины сегодня!
Фишер начал свое путешествие в 2016 году @jorgebucaran в качестве менеджера по конфигурации оболочки для Fish. Попутно многие помогли сформировать это в то, что он является сегодня. О, моя рыба проложила путь в качестве первой популярной рыбной рамки. @jethrokuan оказал решающую поддержку в первые годы. Откровенные отзывы @patrickf1 оказались неоценимыми снова и снова. Bootstrapping Fisher была первоначально блестящей идеей @Ilancosman. Спасибо всем нашим участникам! <3
Грань