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