8b8a7c8d73
Fixes an issue with history between shell reloads via refresh function call. As `exec` replaces the current process in a non-gently fashion, the persistent history could be out of sync with the in-memory history. Calling `history --save` before `exec` should force the shell to persist the history before replacing the current process. |
||
---|---|---|
.. | ||
completions | ||
git | ||
autoload.fish | ||
available.fish | ||
basename.fish | ||
prompt_segments.fish | ||
README.md | ||
refresh.fish | ||
require.fish |
Core Library
Basic Functions
autoload
<path [path...]>
Autoload a function or completion path. Add the specified list of directories to $fish_function_path
.
Any completions
directories are correctly added to the $fish_complete_path
.
autoload $mypath $mypath/completions
available
<name>
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:
if available battery
battery
end
basename
<path> ...
Wrap basename so it can handle multiple arguments.
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
.
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 changes.
git_is_stashed
Set $status
to 0
if there are items in the stash.
git_is_touched
Set $status
to 0
if the repo has any changes whatsoever, including tracked or untracked files.
git_untracked
Echo a \n
separated list of untracked files.