This commit is contained in:
elwrcl committed 2026-09-07 03:44:32 +03:00
1 parent ed173a0af2
commit ec8d0d2432
4 files changed
+97 -22

No files matched your search

@@ -9,29 +9,34 @@
runtimeInputs = [
config.programs.zellij.finalPackage
pkgs.coreutils
pkgs.gnugrep
pkgs.gawk
];
text = ''
case "''${1:-}" in
-h | --help)
echo "usage: ide [directory]"
echo
echo "opens re-attaches to a Zellij session named after the"
echo "directory, running Helix in the 'ide' layout."
exit 0
;;
esac
case "''${1:-}" in
-h | --help)
echo "usage: ide [directory]"
echo
echo "opens re-attaches to a Zellij session named after the"
echo "directory, running Helix in the 'ide' layout."
exit 0
;;
esac
cd "''${1:-.}"
cd "''${1:-.}"
session=$(basename "$PWD")
session=$(printf '%s' "$session" | tr -c 'A-Za-z0-9._-' '-')
session=$(basename "$PWD")
session=$(printf '%s' "$session" | tr -c 'A-Za-z0-9._-' '-')
if zellij list-sessions --short 2>/dev/null | grep -qx "$session"; then
exec zellij attach "$session"
fi
if zellij list-sessions --no-formatting 2>/dev/null |
awk -v s="$session" '$1 == s && $0 !~ /EXITED/ { hit = 1 } END { exit !hit }'; then
exec zellij attach "$session"
fi
exec zellij --session "$session" --new-session-with-layout ide
# Drop any dead session squatting on the name so the layout is rebuilt
# from scratch rather than resurrected.
zellij delete-session "$session" >/dev/null 2>&1 || true
exec zellij --session "$session" --new-session-with-layout ide
'';
})
];