diff --git a/plugins/zellij/README.md b/plugins/zellij/README.md index c6e9af24e..2af2792c5 100644 --- a/plugins/zellij/README.md +++ b/plugins/zellij/README.md @@ -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): diff --git a/plugins/zellij/zellij.plugin.zsh b/plugins/zellij/zellij.plugin.zsh index 5fc820414..e393338e1 100644 --- a/plugins/zellij/zellij.plugin.zsh +++ b/plugins/zellij/zellij.plugin.zsh @@ -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 ' '${_zellij_short_prefix}a:zellij attach ' '${_zellij_short_prefix}d:zellij delete-session ' + '${_zellij_short_prefix}df:zellij delete-session --force ' '${_zellij_short_prefix}k:zellij kill-session ' '${_zellij_short_prefix}da:zellij delete-all-sessions' '${_zellij_short_prefix}ka:zellij kill-all-sessions'