1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2026-03-28 18:53:47 +08:00

feat(zellij): add force-delete function with all-session completion

Add `df` function (`zjdf`/`zdf`) that runs `zellij delete-session --force`,
which can delete running sessions without killing them first (zellij ≥0.44).
Completes against all sessions, unlike `d` which only shows exited ones.
This commit is contained in:
hobe 2026-03-25 13:53:06 +09:00
parent f1db1812cb
commit da2d2102fc
2 changed files with 11 additions and 4 deletions

View File

@ -45,10 +45,11 @@ taken by another alias, function, or command, it is silently skipped.
| Function (default) | Function (with `z`) | Command | Description |
| ------------------- | ------------------- | ---------------------------------- | ---------------------- |
| `zja` | `za` | `zellij attach` | Attach to a session |
| `zjd` | `zd` | `zellij delete-session` | Delete a session |
| `zjk` | `zk` | `zellij kill-session` | Kill a session |
| `zjas` | `zas` | `zellij action switch-session` | Switch to a session |
| `zja` | `za` | `zellij attach` | Attach to a session |
| `zjd` | `zd` | `zellij delete-session` | Delete a session (exited only) |
| `zjdf` | `zdf` | `zellij delete-session --force` | Force-delete any session |
| `zjk` | `zk` | `zellij kill-session` | Kill a session |
| `zjas` | `zas` | `zellij action switch-session` | Switch to a session |
The following convenience functions are always available (unless the name is already taken):

View File

@ -64,6 +64,11 @@ if ! _omz_zellij_taken "${_zellij_short_prefix}d"; then
_zellij_exited_session_targets+=("${_zellij_short_prefix}d")
fi
if ! _omz_zellij_taken "${_zellij_short_prefix}df"; then
eval "${_zellij_short_prefix}df() { command zellij delete-session --force \"\$@\"; }"
_zellij_all_session_targets+=("${_zellij_short_prefix}df")
fi
if ! _omz_zellij_taken "${_zellij_short_prefix}k"; then
eval "${_zellij_short_prefix}k() { command zellij kill-session \"\$@\"; }"
_zellij_running_session_targets+=("${_zellij_short_prefix}k")
@ -92,6 +97,7 @@ if ! _omz_zellij_taken "${_zellij_short_prefix}h"; then
'${_zellij_short_prefix}s:zellij -s <name>'
'${_zellij_short_prefix}a:zellij attach <session>'
'${_zellij_short_prefix}d:zellij delete-session <session>'
'${_zellij_short_prefix}df:zellij delete-session --force <session>'
'${_zellij_short_prefix}k:zellij kill-session <session>'
'${_zellij_short_prefix}da:zellij delete-all-sessions'
'${_zellij_short_prefix}ka:zellij kill-all-sessions'