2025-03-03 18:04:52 -08:00

2.1 KiB

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:

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:

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:

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:

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:

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:

set -g REPO_BASE_DIR "whatever/you/want"