# repo-manager ## installation ### ZSH - Sheldon ``` sheldon add repo-manager --github abs3ntdev/repo-manager ``` - zinit ``` zinit light abs3ntdev/repo-manager ``` ### Fish - Fisher ``` fisher install abs3ntdev/repo-manager ``` - Oh My Fish ``` omf install abs3ntdev/repo-manager ``` ## usage ``` Usage: repo <command> <repository> Commands: get Clone a repository to the repos directory open Open the current repository in the browser aur Clone an AUR repository list List all repositories go|goto Navigate to a repository new|create Create a new repository help Show this help message Examples: repo get github.com/user/repo repo open ``` ## configuration ### hooks #### ZSH Hooks are configured by overriding the functions provided in the plugin in hooks.zsh The default hooks are: ```zsh post_repo_clone() { cd "$1" } post_repo_goto() { cd "$1" } post_repo_new() { cd "$1" } ``` You can override these in your .zshrc or in a file sourced by your .zshrc to do whatever you want. Example: ```zsh post_repo_clone() { code "$1" } post_repo_goto() { nvim "$1" } post_repo_new() { some_script "$1" } ``` #### Fish Hooks are configured by overriding the functions provided in the plugin in hooks.fish The default hooks are: ```fish function post_repo_clone cd "$argv[1]" end function post_repo_goto cd "$argv[1]" end function post_repo_new cd "$argv[1]" end ``` You can override these in your config.fish or in a file sourced by your config.fish to do whatever you want. Example: ```fish function post_repo_clone code "$argv[1]" end function post_repo_goto nvim "$argv[1]" end function post_repo_new some_script "$argv[1]" end ``` ### base directory #### ZSH The base directory is set via ENV. The default is $HOME/repos. You can change this by adding the following to your .zshrc: ```zsh export REPO_BASE_DIR="whatever/you/want" ``` #### Fish The base directory is set via ENV. The default is $HOME/repos. You can change this by adding the following to your config.fish: ```fish set -g REPO_BASE_DIR "whatever/you/want" ```