From a56e23bd4735c47270f53c02260418efbed2021d Mon Sep 17 00:00:00 2001 From: sloane <1699281+sloanelybutsurely@users.noreply.github.com> Date: Wed, 6 Mar 2024 10:42:56 -0500 Subject: [PATCH] update fish functions --- .config/fish/functions/ls.fish | 2 +- .config/fish/functions/worktree.fish | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 .config/fish/functions/worktree.fish diff --git a/.config/fish/functions/ls.fish b/.config/fish/functions/ls.fish index 1491011..fc3197d 100644 --- a/.config/fish/functions/ls.fish +++ b/.config/fish/functions/ls.fish @@ -1,5 +1,5 @@ function ls - command exa --all \ + command eza --all \ --long \ --group-directories-first \ --tree \ diff --git a/.config/fish/functions/worktree.fish b/.config/fish/functions/worktree.fish new file mode 100644 index 0000000..6da2f2d --- /dev/null +++ b/.config/fish/functions/worktree.fish @@ -0,0 +1,22 @@ +# inspired heavily by https://github.com/llimllib/personal_code/blob/daab9eb1da9f777df57c742e5629247a94b54947/homedir/.local/bin/worktree + +function worktree + set branchname $argv[1] + set dirname (string replace -a "/" "_" $branchname) + + if not git pull + echo "Unable to run git pull, there may not be an upstream" + end + + if git for-each-ref --format='%(refname:lstrip=2)' refs/heads | grep -E "^$branchname\$" > /dev/null 2>&1 + git worktree add "../$dirname" "$branchname" + else if git for-each-ref --format='%(refname:lstrip=3)' refs/remotes/origin | grep -E "^$branchname\$" > /dev/null 2>&1 + git worktree add "../$dirname" "$branchname" + else + git worktree add -b "$branchname" "../$dirname" + end + + if test -d "node_modules" + cp -Rc node_modules ../$dirname/node_modules + end +end