From 51219772784751fe9e843fd14f996533e7fc90e6 Mon Sep 17 00:00:00 2001 From: Uttarayan Date: Tue, 25 Jul 2023 19:09:49 +0530 Subject: [PATCH] [feat] Init zoxide at runtime Move brew and ports files to macos specific folders --- config/fish/conf.d/{ => macos}/00brew.fish | 0 config/fish/conf.d/{ => macos}/99-ports.fish | 0 config/fish/conf.d/zoxide.fish | 112 +------------------ 3 files changed, 1 insertion(+), 111 deletions(-) rename config/fish/conf.d/{ => macos}/00brew.fish (100%) rename config/fish/conf.d/{ => macos}/99-ports.fish (100%) diff --git a/config/fish/conf.d/00brew.fish b/config/fish/conf.d/macos/00brew.fish similarity index 100% rename from config/fish/conf.d/00brew.fish rename to config/fish/conf.d/macos/00brew.fish diff --git a/config/fish/conf.d/99-ports.fish b/config/fish/conf.d/macos/99-ports.fish similarity index 100% rename from config/fish/conf.d/99-ports.fish rename to config/fish/conf.d/macos/99-ports.fish diff --git a/config/fish/conf.d/zoxide.fish b/config/fish/conf.d/zoxide.fish index 1d518672..2e9cc179 100644 --- a/config/fish/conf.d/zoxide.fish +++ b/config/fish/conf.d/zoxide.fish @@ -1,111 +1 @@ -# ============================================================================= -# -# Utility functions for zoxide. -# - -# pwd based on the value of _ZO_RESOLVE_SYMLINKS. -function __zoxide_pwd - builtin pwd -L -end - -# A copy of fish's internal cd function. This makes it possible to use -# `alias cd=z` without causing an infinite loop. -if ! builtin functions -q __zoxide_cd_internal - if builtin functions -q cd - builtin functions -c cd __zoxide_cd_internal - else - alias __zoxide_cd_internal='builtin cd' - end -end - -# cd + custom logic based on the value of _ZO_ECHO. -function __zoxide_cd - __zoxide_cd_internal $argv -end - -# ============================================================================= -# -# Hook configuration for zoxide. -# - -# Initialize hook to add new entries to the database. -function __zoxide_hook --on-variable PWD - test -z "$fish_private_mode" - and command zoxide add -- (__zoxide_pwd) -end - -# ============================================================================= -# -# When using zoxide with --no-cmd, alias these internal functions as desired. -# - -set __zoxide_z_prefix 'z!' - -# Jump to a directory using only keywords. -function __zoxide_z - set -l argc (count $argv) - set -l completion_regex '^'(string escape --style=regex $__zoxide_z_prefix)'(.*)$' - - if test $argc -eq 0 - __zoxide_cd $HOME - else if test "$argv" = - - __zoxide_cd - - else if test $argc -eq 1 -a -d $argv[1] - __zoxide_cd $argv[1] - else if set -l result (string match --groups-only --regex $completion_regex $argv[-1]) - __zoxide_cd $result - else - set -l result (command zoxide query --exclude (__zoxide_pwd) -- $argv) - and __zoxide_cd $result - end -end - -# Completions for `z`. -function __zoxide_z_complete - set -l tokens (commandline --current-process --tokenize) - set -l curr_tokens (commandline --cut-at-cursor --current-process --tokenize) - - if test (count $tokens) -le 2 -a (count $curr_tokens) -eq 1 - # If there are < 2 arguments, use `cd` completions. - __fish_complete_directories "$tokens[2]" '' - else if test (count $tokens) -eq (count $curr_tokens) - # If the last argument is empty, use interactive selection. - set -l query $tokens[2..-1] - set -l result (zoxide query --exclude (__zoxide_pwd) -i -- $query) - and echo $__zoxide_z_prefix$result - commandline --function repaint - end -end - -# Jump to a directory using interactive search. -function __zoxide_zi - set -l result (command zoxide query -i -- $argv) - and __zoxide_cd $result -end - -# ============================================================================= -# -# Commands for zoxide. Disable these using --no-cmd. -# - -abbr --erase z &>/dev/null -complete --command z --erase -function z - __zoxide_z $argv -end -complete --command z --no-files --arguments '(__zoxide_z_complete)' - -abbr --erase zi &>/dev/null -complete --command zi --erase -function zi - __zoxide_zi $argv -end - -# ============================================================================= -# -# To initialize zoxide, add this to your configuration (usually -# ~/.config/fish/config.fish): -# -# zoxide init fish | source -# -# Note: zoxide only supports fish v3.4.0 and above. +zoxide init fish | source