The Fishshell Framework
Oh My Fish обеспечивает базовую инфраструктуру, чтобы обеспечить установку пакетов которые расширяют и модифицируют внешний вид вашей оболочки. Он быстрый, расширяемый и легкий в использовании.
curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | fish
omf help
Или скачайте и запустите сами:
curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install > install
fish install
Oh My Fish содержит небольшую утилиту omf
для загрузки и установки новых пакетов и тем.
Обновляет фреймворк и установленные пакеты.
Устанавливает один или более пакетов.
- Вы можете установить пакеты прямо по URL с помощью команды
omf install URL
- Когда вызывается без аргументов, устанавливает отсутствующие пакеты из bundle.
Список установленных пакетов.
Применяет тему. Чтобы получить список доступных тем, введите omf theme
. Также вы можете предварительно посмотреть доступные темы перед установкой.
Удаляет тему или пакет.
Пакеты, подписанные на событие
uninstall_<pkg>
, уведомляются перед тем, как пакет будет удален, поэтому может быть выполнена кастомная очистка ресурсов. Читайте подробнее про удаление пакетов в Oh My Fish.
Генерирует новый пакет или тему.
Создает новый каталог в
$OMF_CONFIG/{pkg | themes}/
с шаблоном.
Добавляет новый пакет. Чтобы добавить тему, используйте omf submit
themes/<name>
<url>
.
Убедитесь что отправили нам PR, чтобы обновить реестр.
Используйте для устранения проблем перед созданием нового issue.
Удаляет Oh My Fish.
Установщик Oh My Fish помещает код для старта в вашем конфиг файле (~/.config/fish/config.fish
).
Каждый раз, когда вы открываете новый shell, стартап код инициализирует Oh My Fish путь установки и конфиг путь (~/.config/omf
по умолчанию), потом запускает init.fish
скрипт, который автоматически загружает пакеты, темы и ваши кастомные init файлы. С подробностями ознакомьтесь в [FAQ](FAQ.md#что именно делает Oh My Fish?).
Директория $OMF_CONFIG
представляет состояние пользователя Oh My Fish, и это превосходный кандидат для добавления в ваши dotfiles и/или в систему контроля версий. Это четыре важных файла:
theme
- Текущая темаbundle
- Список установленных пакетов/темinit.fish
- Кастомный скрипт, который запускается после запуска shellbefore.init.fish
- Кастомный скрипт, который запускается перед запуском shell
Настоятельно рекомендуется добавлять свои стартап команды в файл init.fish
вместо ~/.config/fish/config.fish
, так как это позволяет вам держать весь каталог $OMF_CONFIG
в системе контроля версий.
Если вам нужно запускать стартап команды перед тем, как Oh My Fish начнет загружать плагины, поместите их в before.init.fish
. Если вы не уверены, как правило, лучше поместить их в init.fish
.
Каждый раз, когда пакет/тема устанавливается или удаляется, bundle
файл обновляется. Также вы можете отредактировать его и потом запустить omf install
чтобы зафиксировать изменения. Пожалуйста, обратите внимание: если пакеты/темы добавлены в bundle
, они автоматически установятся, в то время как пакеты/темы, удаленные из bundle
файла, не удалятся из пользовательской папки.
Oh My Fish использует продвинутую и хорошо определенную архитектуру плагинов для упрощения их разработки, включая события инициализации/удаления и функции автозагрузки.
Смотрите документацию, чтобы узнать подробнее.