radix/files/fish/functions/fish_custom_functions.fish

52 lines
1.1 KiB
Fish

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
function bookmarks
$EDITOR (string replace ':' '~/resources/bookmarks/' $argv[1])
end
function xdg-user-directory
switch (string replace '@' '' $argv[1])
case "desktop"
echo $XDG_DESKTOP_DIR
case "documents"
echo $XDG_DOCUMENTS_DIR
case "downloads"
echo $XDG_DOWNLOAD_DIR
case "music"
echo $XDG_MUSIC_DIR
case "pictures"
echo $XDG_PICTURES_DIR
case "public"
echo $XDG_PUBLICSHARE_DIR
case "templates"
echo $XDG_TEMPLATES_DIR
case "videos"
echo $XDG_VIDEOS_DIR
end
end
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])
echo $arr[$k]
end
function bang-dollar
string replace -ra '.* ' '' "$history[1]"
end
function bang-star
string replace -ra ' [^ ]+$' '' "$history[1]"
end