helper-scripts/zellij-ps.fish
2024-10-02 15:29:27 +02:00

26 lines
818 B
Fish
Executable File

#!/usr/bin/env fish
# This is a small zellij project switcher
#
# For defining project folders export the variable $PROJECT_FOLDERS in your favourite shell
# The folders should by delimited by a :
# Fish example: set -x PROJECT_FOLDERS ~/projects:~/Downloads/My Folder
set -l IFS ':'
set folders (string split ':' -- $PROJECT_FOLDERS | string replace -r '^~' $HOME)
echo $folders
if count $argv > 1
set selected $argv[1]
else
set selected (fd --type d --max-depth 1 . $folders | fzf --preview='')
end
set selected_name (basename "$selected" | tr . _)
set zellij_running (pgrep -c zellij)
if test -n "$ZELLIJ_SESSION_NAME"
echo -e "You are in a Zellij Session!\nPlease use the session manager to switch sessions.">&2
else
cd $selected; zellij --layout zellij-ps attach -c $selected_name options
end