From 8d4f6959e88c13bed85c80ce61e9c12116bdaa31 Mon Sep 17 00:00:00 2001 From: Chen Asraf Date: Thu, 11 Jul 2024 15:58:45 +0300 Subject: [PATCH] feat: update prc/sprc + completions --- completions/_src | 4 ++-- completions/_srcp | 18 ++++++++++++++++++ plugins/functions.plugin.zsh | 11 ++++++++++- 3 files changed, 30 insertions(+), 3 deletions(-) create mode 100755 completions/_srcp diff --git a/completions/_src b/completions/_src index 6ab94000..abb7b456 100755 --- a/completions/_src +++ b/completions/_src @@ -1,11 +1,11 @@ -#compdef src rc +#compdef rc src dfpath="$(wd path df)" out=() __read_dir() { dir="$1" - res=($(find $1 -print | sed "s/${1//\//\\/}\///" | grep -i "\.z\?sh$")) + res=($(find $dir -print | sed "s/${dir//\//\\/}\///" | grep -i "\.z\?sh$" | sed -E 's/\.z?sh//g')) for i in $res; do out+=("$i") diff --git a/completions/_srcp b/completions/_srcp new file mode 100755 index 00000000..57068e1f --- /dev/null +++ b/completions/_srcp @@ -0,0 +1,18 @@ +#compdef prc sprc +dfpath="$(wd path df)" + +out=() + +__read_dir() { + dir="$1" + res=($(find $dir -print | sed "s/${dir//\//\\/}\///" | grep -i "\.z\?sh$" | sed -E 's/\.plugin\.z?sh//g')) + + for i in $res; do + out+=("$i") + done +} + +cd "$dfpath/plugins" +__read_dir . + +_describe 'dotfile' out diff --git a/plugins/functions.plugin.zsh b/plugins/functions.plugin.zsh index 662b3760..7054bb64 100755 --- a/plugins/functions.plugin.zsh +++ b/plugins/functions.plugin.zsh @@ -105,6 +105,8 @@ rc() { if [[ -f "$DOTFILES/$1.sh" ]]; then file="$DOTFILES/$1.sh" + elif [[ -f "$DOTFILES/$1.zsh" ]]; then + file="$DOTFILES/$1.zsh" else file="$DOTFILES/$1" fi @@ -169,8 +171,14 @@ src() { return 1 } +# same as rc, but for plugin files +prc() { + rc "plugins/$1.plugin" + return $? +} + # same as src, but for plugin files -srcp() { +sprc() { src "plugins/$1.plugin" return $? } @@ -362,6 +370,7 @@ autoload _docker-exec autoload _docker-volume-path autoload _prj autoload _src +autoload _srcp # reload entire shell reload-zsh() {