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 installOh 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 использует продвинутую и хорошо определенную архитектуру плагинов для упрощения их разработки, включая события инициализации/удаления и функции автозагрузки.
Смотрите документацию, чтобы узнать подробнее.