radix/files/fish/functions/fish_custom_functions.fish

55 lines
1.2 KiB
Fish
Raw Normal View History

function code-projects
string replace '@' '~/projects/code/' $argv[1]
end
function git-root
set -l result (git root 2>/dev/null) && \
echo $result || echo ""
end
2023-10-08 17:30:14 +00:00
function bookmarks
$EDITOR (string replace ':' '~/resources/bookmarks/' $argv[1])
end
function xdg-base-directory
function aux
fenv "source ~/.config/user-dirs.dirs; echo $argv[1]" 2>/dev/null
end
switch (string replace '@' '' $argv[1])
case "desktop"
aux '$XDG_DESKTOP_DIR'
case "documents"
aux '$XDG_DOCUMENTS_DIR'
case "downloads"
aux '$XDG_DOWNLOAD_DIR'
case "music"
aux '$XDG_MUSIC_DIR'
case "pictures"
aux '$XDG_PICTURES_DIR'
case "public"
aux '$XDG_PUBLICSHARE_DIR'
case "templates"
aux '$XDG_TEMPLATES_DIR'
case "videos"
aux '$XDG_VIDEOS_DIR'
end
end
2023-10-29 18:17:51 +00:00
function bang-bang
echo "$history[1]"
end
function bang-bang-k
set -l k (string replace '!!:' '' $argv[1])
set -l arr (string replace -ra ' ' '\n' $history[1])
2023-10-29 18:17:51 +00:00
echo $arr[$k]
end
function bang-dollar
string replace -ra '.* ' '' "$history[1]"
end
function bang-star
string replace -ra ' [^ ]+$' '' "$history[1]"
end