From 870b25d643eac160604ddd34c33c58c4dcdfdf49 Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 16 May 2025 08:46:29 +0200 Subject: [PATCH] Updates fish functions --- home/modules/fish/work.nix | 162 +++++++++++++++++-------------------- 1 file changed, 75 insertions(+), 87 deletions(-) diff --git a/home/modules/fish/work.nix b/home/modules/fish/work.nix index 5f27399..fa5c4ad 100644 --- a/home/modules/fish/work.nix +++ b/home/modules/fish/work.nix @@ -3,113 +3,101 @@ functions = { cdr = '' - function cdr - set folder (begin - fd . ~/dev/ride/apps/backend/edge-services -t d -d 1; - fd . ~/dev/ride/apps/backend/backend-services -t d -d 1; - fd . ~/dev/ride/apps/frontend/projects -t d -d 1; - fd . ~/dev/ride/apps/native -t d -d 1; - # fd . ~/dev/ride/packages -t d -d 1; - echo "$HOME/dev/ride/apps/frontend"; - echo "$HOME/dev/ride/apps/lib"; - echo "$HOME/dev/ride"; - end | fzf); - set service (basename $folder) + set folder (begin + fd . ~/dev/ride/apps/backend/edge-services -t d -d 1; + fd . ~/dev/ride/apps/backend/backend-services -t d -d 1; + fd . ~/dev/ride/apps/frontend/projects -t d -d 1; + fd . ~/dev/ride/apps/native -t d -d 1; + # fd . ~/dev/ride/packages -t d -d 1; + echo "$HOME/dev/ride/apps/frontend"; + echo "$HOME/dev/ride/apps/lib"; + echo "$HOME/dev/ride"; + end | fzf); + set service (basename $folder) - cd $folder - end + cd $folder ''; rr = '' - function rr - set folder (begin - fd . ~/dev/ride/apps/backend/edge-services -t d -d 1; - fd . ~/dev/ride/apps/backend/backend-services -t d -d 1; - fd . ~/dev/ride/apps/frontend/projects -t d -d 1; - fd . ~/dev/ride/apps/native -t d -d 1; - echo "$HOME/dev/ride/apps/frontend"; - echo "$HOME/dev/ride/apps/lib"; - echo "$HOME/dev/ride"; - end | fzf); + set folder (begin + fd . ~/dev/ride/apps/backend/edge-services -t d -d 1; + fd . ~/dev/ride/apps/backend/backend-services -t d -d 1; + fd . ~/dev/ride/apps/frontend/projects -t d -d 1; + fd . ~/dev/ride/apps/native -t d -d 1; + echo "$HOME/dev/ride/apps/frontend"; + echo "$HOME/dev/ride/apps/lib"; + echo "$HOME/dev/ride"; + end | fzf); + + if test -n "$folder" + set service (basename $folder) + cd $folder - if test -n "$folder" - set service (basename $folder) - cd $folder + # Check if package.json exists + if test -f "package.json" + # Extract and format npm scripts for fzf + set script_cmd (jq -r '.scripts | to_entries | .[] | "\(.key): \(.value)"' package.json | fzf) - # Check if package.json exists - if test -f "package.json" - # Extract and format npm scripts for fzf - set script_cmd (jq -r '.scripts | to_entries | .[] | "\(.key): \(.value)"' package.json | fzf) - - if test -n "$script_cmd" - # Extract just the script name before the colon - set script_name (string split ": " $script_cmd)[1] - if test -n "$script_name" - echo "Running: npm run $script_name" - npm run $script_name - end + if test -n "$script_cmd" + # Extract just the script name before the colon + set script_name (string split ": " $script_cmd)[1] + if test -n "$script_name" + echo "Running: npm run $script_name" + npm run $script_name end end end - end + end ''; ff = '' - function ff - set RG_PREFIX "rg --column --line-number --no-heading --color=always --smart-case " - set INITIAL_QUERY "$argv" - fzf --ansi --disabled --query "$INITIAL_QUERY" \ - --bind "start:reload:$RG_PREFIX {q}" \ - --bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \ - --delimiter : \ - --preview 'bat --color=always {1} --highlight-line {2}' \ - --preview-window 'up,60%,border-bottom,+{2}+3/3,~3' \ - --bind 'enter:become(nvim {1} +{2})' - end + set RG_PREFIX "rg --column --line-number --no-heading --color=always --smart-case " + set INITIAL_QUERY "$argv" + fzf --ansi --disabled --query "$INITIAL_QUERY" \ + --bind "start:reload:$RG_PREFIX {q}" \ + --bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \ + --delimiter : \ + --preview 'bat --color=always {1} --highlight-line {2}' \ + --preview-window 'up,60%,border-bottom,+{2}+3/3,~3' \ + --bind 'enter:become(nvim {1} +{2})' ''; envsource = '' - function envsource - for line in (cat $argv | grep -v '^#') - set item (string split -m 1 '=' $line) - set -gx $item[1] $item[2] - end - end + for line in (cat $argv | grep -v '^#') + set item (string split -m 1 '=' $line) + set -gx $item[1] $item[2] + end ''; fish_greeting = "fortune -a"; resize_images = '' - function resize_images - # Resize all JPG images in the current directory and its subdirectories - # Usage: resize_images [percentage] - # Example: resize_images 20 - resizes all images to 20% of original size - # If no percentage is provided, defaults to 40% - - set -l percentage $argv[1] - if test -z "$percentage" - set percentage 40 - end - - for img in (find . -type f -name "*.JPG") - set original_size (stat -f %z "$img") - magick convert "$img" -resize "$percentage%" "$img" - set new_size (stat -f %z "$img") - echo "Processed $img" - echo "Original size: $original_size bytes" - echo "New size: $new_size bytes" - echo "---" - end - end + # Resize all JPG images in the current directory and its subdirectories + # Usage: resize_images [percentage] + # Example: resize_images 20 - resizes all images to 20% of original size + # If no percentage is provided, defaults to 40% + + set -l percentage $argv[1] + if test -z "$percentage" + set percentage 40 + end + + for img in (find . -type f -name "*.JPG") + set original_size (stat -f %z "$img") + magick convert "$img" -resize "$percentage%" "$img" + set new_size (stat -f %z "$img") + echo "Processed $img" + echo "Original size: $original_size bytes" + echo "New size: $new_size bytes" + echo "---" + end ''; localip = "ifconfig | grep \"inet \" | grep -v 127.0.0.1 | awk '{print $2}' | head -n 1"; publicip = "curl -4 ifconfig.me"; fzf = '' - function fzf --wraps="fzf" - set -Ux FZF_DEFAULT_OPTS " - --color=fg:#908caa,bg:#191724,hl:#ebbcba - --color=fg+:#e0def4,bg+:#26233a,hl+:#ebbcba - --color=border:#403d52,header:#31748f,gutter:#191724 - --color=spinner:#f6c177,info:#9ccfd8 - --color=pointer:#c4a7e7,marker:#eb6f92,prompt:#908caa" + set -Ux FZF_DEFAULT_OPTS " + --color=fg:#908caa,bg:#191724,hl:#ebbcba + --color=fg+:#e0def4,bg+:#26233a,hl+:#ebbcba + --color=border:#403d52,header:#31748f,gutter:#191724 + --color=spinner:#f6c177,info:#9ccfd8 + --color=pointer:#c4a7e7,marker:#eb6f92,prompt:#908caa" - command fzf - end + command fzf ''; };