diff --git a/lib/README.md b/lib/README.md index f9c0c1e..215d738 100644 --- a/lib/README.md +++ b/lib/README.md @@ -1,16 +1,43 @@ -

- - - -

+ + + +> Oh My Fish Documentation # Core Library -## Basic Functions +
+ +#### `require` _`[--no-bundle] ...`_ +#### `require` _`[--no-bundle] --path ...`_ + +Does initialization of Oh My Fish compatible packages: + +* Autoload function and completion paths +* Source key bindings +* Require dependencies from `bundle` +* Source `init.fish` file + +`require` support packages in the following directory structure: + +``` +functions/ +completions/ +bundle +init.fish +key_bindings.fish +``` + +When using the form `require ...`, the search path for packages is +`$OMF_CONFIG` and `$OMF_PATH`. It's also possible to require directories +using `--path` switch. To ignore dependency loading you can also use +`--no-bundle` switch + +This function is the base of Oh My Fish framework, being responsible for +the major part of framework's own startup code. #### `autoload` _`[-e] ...`_ -Manipulate [autoloading](http://fishshell.com/docs/current/index.html#syntax-function-autoloading) path components. +Manipulate [autoloading] path components. All paths ending with `completions` are correctly added to or erased from `$fish_complete_path`. @@ -27,56 +54,4 @@ To erase paths from autoload: autoload -e $mypath $mypath/completions ``` -#### `available` _``_ - -Check if a program is available to run. Sets `$status` to `0` if the program is available. - -Use this function to check if a plugin is available before using it: - -```fish -if available battery - battery -end -``` - -#### `refresh` - -Replace the running instance of fishshell with a new one causing Oh My Fish to reload as well. - -#### `prompt_segments` - -Extract the root (top-most parent directory), dirname and basename from [`fish_prompt`](http://fishshell.com/docs/current/faq.html#faq-prompt). - -## Git Functions -#### `git_ahead` - -Echo a character that represents whether the current repo is ahead, behind or has diverged from its upstream. - -##### Default values: - -+ ahead: `+` -+ behind: `-` -+ diverged: `±` -+ none: ` ` - -#### `git_is_repo` -Set `$status` to `0` if the current working directory belongs to a git repo. - -#### `git_branch_name` -Echo the currently checked out branch name of the current repo. - -#### `git_is_dirty` -Set `$status` to `0` if there are any changes to files already being tracked in the repo. - -#### `git_is_staged` -Set `$status` to `0` if there [staged](http://programmers.stackexchange.com/questions/119782/what-does-stage-mean-in-git) changes. - -#### `git_is_stashed` -Set `$status` to `0` if there are items in the [stash](https://git-scm.com/book/en/v1/Git-Tools-Stashing). - -#### `git_is_touched` - -Set `$status` to `0` if the repo has any changes whatsoever, including [tracked or untracked](http://stackoverflow.com/questions/9663507/what-is-tracked-files-and-untracked-files-in-the-context-of-git) files. - -#### `git_untracked` -Echo a `\n` separated list of untracked files. +[autoloading]: http://fishshell.com/docs/current/index.html#syntax-function-autoloading \ No newline at end of file