diff --git a/completions/upto.fish b/completions/upto.fish new file mode 100644 index 0000000..2c22612 --- /dev/null +++ b/completions/upto.fish @@ -0,0 +1 @@ +complete -c upto -a '(pwd | tr "/" "\n")' -f diff --git a/fish_plugins b/fish_plugins index fb9e308..96c0495 100644 --- a/fish_plugins +++ b/fish_plugins @@ -1,3 +1,4 @@ jorgebucaran/fisher 0rax/fishline dracula/fish +markcial/upto diff --git a/fish_variables b/fish_variables index 5d1f228..a19a330 100644 --- a/fish_variables +++ b/fish_variables @@ -4,7 +4,8 @@ SETUVAR __fish_initialized:3400 SETUVAR _fisher_0rax_2F_fishline_files:/home/zoe/\x2econfig/fish/functions/__fishline_segment\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__fishline_segment_close\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__fishline_test\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__fishline_usage\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__fishline_version\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_arrow\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_clock\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_conda\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_exectime\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_fish\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_fullpwd\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_git\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_invert\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_jobs\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_n\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_pwd\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_root\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_screen\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_separator\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_sigstatus\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_space\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_status\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_user\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_userhost\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_vfish\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_vimode\x2efish\x1e/home/zoe/\x2econfig/fish/functions/__flseg_write\x2efish\x1e/home/zoe/\x2econfig/fish/functions/fishline\x2efish\x1e/home/zoe/\x2econfig/fish/conf\x2ed/fishline\x2dinit\x2efish\x1e/home/zoe/\x2econfig/fish/conf\x2ed/fishline\x2dthemes\x1e/home/zoe/\x2econfig/fish/completions/fishline\x2efish SETUVAR _fisher_dracula_2F_fish_files:/home/zoe/\x2econfig/fish/conf\x2ed/dracula\x2efish SETUVAR _fisher_jorgebucaran_2F_fisher_files:/home/zoe/\x2econfig/fish/functions/fisher\x2efish\x1e/home/zoe/\x2econfig/fish/completions/fisher\x2efish -SETUVAR _fisher_plugins:jorgebucaran/fisher\x1e0rax/fishline\x1edracula/fish +SETUVAR _fisher_markcial_2F_upto_files:/home/zoe/\x2econfig/fish/functions/upto\x2efish\x1e/home/zoe/\x2econfig/fish/completions/upto\x2efish +SETUVAR _fisher_plugins:jorgebucaran/fisher\x1e0rax/fishline\x1edracula/fish\x1emarkcial/upto SETUVAR fish_color_autosuggestion:\x2d\x2ditalics\x1ewhite SETUVAR fish_color_cancel:\x2dr SETUVAR fish_color_command:blue diff --git a/functions/upto.fish b/functions/upto.fish new file mode 100644 index 0000000..7a9f40d --- /dev/null +++ b/functions/upto.fish @@ -0,0 +1,13 @@ +function upto -a where -d "Go up to a certain directory" + set -l pieces ( pwd | tr "/" "\n") + + if contains -- $where $pieces + set -l p (contains --index -- $where $pieces) + set -l dest (printf "%s\n" $pieces[1..$p] | tr "\n" "/") + cd "$dest" + + return + end + + return 1 +end