diff --git a/README.md b/README.md index 28e7573..89516af 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,8 @@ Oh My Fish provides core infrastructure to allow you to install packages which e
English • - 简体中文 + 简体中文 • + Русский
## Installation diff --git a/docs/en-US/FAQ.md b/docs/en-US/FAQ.md index f07bb25..586b946 100644 --- a/docs/en-US/FAQ.md +++ b/docs/en-US/FAQ.md @@ -8,7 +8,8 @@English • - 简体中文 + 简体中文 • + Русский
@@ -19,7 +20,7 @@ Thanks for taking the time to read this FAQ. Feel free to create a new issue if ## What is Oh My Fish and why do I want it? -Oh My Fish is a _framework_ for the [fishshell](https://fishshell.org). It helps you manage your configuration, themes and packages. +Oh My Fish is a _framework_ for the [Fishshell](http://fishshell.com/). It helps you manage your configuration, themes and packages. ## What do I need to know to use Oh My Fish? diff --git a/docs/en-US/Packages.md b/docs/en-US/Packages.md index 8285da5..38f5cc5 100644 --- a/docs/en-US/Packages.md +++ b/docs/en-US/Packages.md @@ -8,7 +8,8 @@English • - 简体中文 + 简体中文 • + Русский
# Creating diff --git a/docs/ru-RU/FAQ.md b/docs/ru-RU/FAQ.md new file mode 100644 index 0000000..b8c1e54 --- /dev/null +++ b/docs/ru-RU/FAQ.md @@ -0,0 +1,95 @@ ++ English • + 简体中文 • + Русский + +
+ + +# FAQ + +Спасибо что нашли время прочитать этот FAQ. Не стесняйтесь создавать новый Issue если вы не нашли тут ответ на свой вопрос. + + +## Что такое Oh My Fish и зачем он мне нужен? + +Oh My Fish это _фреймворк_ для [Fishshell](http://fishshell.com/). Он помогает Вам управлять Вашими настройками, темами и пакетами. + + +## Что мне нужно знать чтобы использовать Oh My Fish? + +_Ничего_. Вы можете установить Oh My Fish и продолжать использовать Fish как обычно. Когда Вы захотите узнать больше просто наберите `omf help`. + + +## Что такое пакеты в Oh My Fish? + +Пакеты в Oh My Fish - это темы и плагины, написанные на fish которые наследуют базовую функциональность Shell, запускают код во время инициализации, добавляют автодополнение к известным утилитам и тд. + + +## Какие типы пакетов существуют в Oh My Fish? + +Существует 3 основных вида пакетов: + +1. Конфигурационные утилиты. Например [`pkg-pyenv`](https://github.com/oh-my-fish/pkg-pyenv) проверяет существует ли `pyenv` в Вашей системе и запускает `(pyenv init - | psub)` для Вас при запуске Fish. + +2. Темы. Ознакомьтесь с [темами](https://github.com/oh-my-fish). + +3. Традиционные утилиты оболочки. Например [`pkg-copy`](https://github.com/oh-my-fish/pkg-copy), утилита буфера обмена, совместимая с Linux и OSX. + + +## Что именно делает Oh My Fish? + ++ Запускает `$OMF_CONFIG/before.init.fish` если доступно. + ++ Автозагрузка установленных пакетов и тем из `$OMF_PATH/`. + ++ Автозагрузка пути к Вашему конфигу. `~/.config/omf` по умолчанию, но конфигурируемый через `$OMF_CONFIG`. + ++ Автозагрузка любых `функций` из `$OMF_PATH` и `$OMF_CONFIG` + ++ Запускает `$OMF_CONFIG/init.fish` если доступно. + + +## Как я могу обновить текущую версию Oh My Fish? + +> :предупреждение: Не забудьте сперва сделать резервную копию Ваших dotfiles и других важных данных. + +``` +curl -L github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | sh +``` + +Теперь Вы можете безопасно удалить `$fish_path`. + +```fish +rm -rf "$fish_path" +``` + + +## Как я могу использовать fish в качестве оболочки по умолчанию? + +Добавьте Fish в `/etc/shells`: + +```sh +echo "/usr/local/bin/fish" | sudo tee -a /etc/shells +``` + +Сделайте Fish Вашей оболочкой по умолчанию: + +```sh +chsh -s /usr/local/bin/fish +``` + +Чтобы обратно переключиться на оболочку по умолчанию: +> Вышедший на замену `/bin/bash` с `/bin/tcsh` или `/bin/zsh` в соответствующих случаях. + +```sh +chsh -s /bin/bash +``` diff --git a/docs/ru-RU/Packages.md b/docs/ru-RU/Packages.md new file mode 100644 index 0000000..7fa42cd --- /dev/null +++ b/docs/ru-RU/Packages.md @@ -0,0 +1,95 @@ ++ English • + 简体中文 • + Русский +
+ +# Создание + +Чтобы научиться создавать пакеты давайте создадим новый пакет который будет выводить команду `hello_world` для Вашей оболочки. Имена пакетов могут содержать только символы нижнего регистра и символ подчеркивания для разделения слов. + +Oh My Fish может сгенерировать структуру пакета для Вас. Используйте команду `omf new`: + +```fish +$ omf new pkg hello_world +``` + +> Используйте `omf new theme my_theme_name` для тем. + +Утилита изменяет текущий каталог на только что созданыый пакет: + +``` +$ ls -l + README.md + hello_world.fish + completions/hello_world.fish +``` + +Всегда описывайте как работает ваш пакет в `README.md`. Также прочитайте больше об [автодополнении](http://fishshell.com/docs/current/commands.html#complete) а также позаботьтесь о том чтобы предоставить его для ваших утилит, когда это возможно. + +`hello_world.fish` определяет одну функцию: + +```fish +function hello_world -d "Prints hello world" + echo "Hello World!" +end +``` + +Каждая функция в Вашем пакете должна быть объявлена в своем собственном файле. Это требование механизма автозагрузки fish, который загружает функции по запросу, избегая загрузки ненужных функций. + +Имейте в виду что fish не имеет приватной области видимости, поэтому если Вам необходимо разделить Ваш пакет на функции, добавьте префикс к Вашим функциям как здесь: +`__hello_world.my_extra_function`, чтобы избежать совпадения имен и загрязнения глобального пространства имен. + +# События + +Пакеты были спроектированы так, чтобы использовать преимущества событий fish. На данный момент существует два события которые Oh My Fish будет передавать Вашему пакету: + +## Инициализация + +Если вы хотите быть [уведомлены](http://fishshell.com/docs/current/commands.html#emit) когда Ваш пакет загружается, объявите следующую функцию в Вашем `hello_world.fish`: + +```fish +function init -a path --on-event init_hello_world + echo "hello_world initialized" +end +``` + +Используйте это событие чтобы модифицировать окружение, загружать ресурсы, автоматически загружать функции и тд. Если Ваш пакет не экспортирует никаких функций, Вы все равно можете использовать это событие чтобы добавить функциональность в Ваш пакет. + +## Удаление + +Oh My Fish генерирует `uninstall_+ English • + 简体中文 • + Русский +
+ +# Установка + +```fish +curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | fish +omf help +``` + +Или _скачайте_ и запустите сами: + +```fish +curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install > install +fish install +``` + +# Туториал + +Oh My Fish содержит небольшую утилиту `omf` для загрузки и установки новых пакетов и тем. + +#### `omf update` + +Обновляет фреймворк и установленные пакеты. + +#### `omf install` _`[English • - 简体中文 + 简体中文 • + Русский
# FAQ @@ -18,7 +19,7 @@ ## 什么是 Oh My Fish,我为什么会使用它? -Oh My Fish 是基于 [fishshell](https://fishshell.org) 封装的高级 _框架_。它可以帮你管理你的配置,主题和插件。 +Oh My Fish 是基于 [Fishshell](http://fishshell.com/) 封装的高级 _框架_。它可以帮你管理你的配置,主题和插件。 ## 使用 Oh My Fish 我需要注意什么? diff --git a/docs/zh-CN/Packages.md b/docs/zh-CN/Packages.md index dc15c0a..7ce2486 100644 --- a/docs/zh-CN/Packages.md +++ b/docs/zh-CN/Packages.md @@ -8,7 +8,8 @@ # 创建插件或主题 @@ -90,4 +91,4 @@ omf submit theme/my_theme .../my_theme_name.git 此操作仅在本地会添加一个新的注册索引,最后你还需要[提交 PR][omf-pulls-link]并入官方的注册索引。 -[omf-pulls-link]: https://github.com/oh-my-fish/oh-my-fish/pulls \ No newline at end of file +[omf-pulls-link]: https://github.com/oh-my-fish/oh-my-fish/pulls diff --git a/docs/zh-CN/README.md b/docs/zh-CN/README.md index 9836f94..3113699 100644 --- a/docs/zh-CN/README.md +++ b/docs/zh-CN/README.md @@ -11,7 +11,8 @@ Oh My Fish 提供核心基础设施的配置,允许每个人可以轻松安装 # 安装