feat(zellij): add detach and switch-session shortcuts

- Add `ad` alias for `zellij action detach`
- Add `as` function for `zellij action switch-session` with session completion
This commit is contained in:
hobe 2026-03-25 13:43:41 +09:00
commit fe46305436
2 changed files with 18 additions and 6 deletions

View file

@ -38,15 +38,17 @@ taken by another alias, function, or command, it is silently skipped.
| `zjs` | `zs` | `zs` | `zellij -s` | Start a named session | | `zjs` | `zs` | `zs` | `zellij -s` | Start a named session |
| `zjda` | `zda` | `zda` | `zellij delete-all-sessions` | Delete all sessions | | `zjda` | `zda` | `zda` | `zellij delete-all-sessions` | Delete all sessions |
| `zjka` | `zka` | `zka` | `zellij kill-all-sessions` | Kill all sessions | | `zjka` | `zka` | `zka` | `zellij kill-all-sessions` | Kill all sessions |
| `zjr` | — | — | `zellij run` | Run a command in a pane | | `zjr` | — | — | `zellij run` | Run a command in a pane |
| `zjad` | `zad` | `zad` | `zellij action detach` | Detach from current session |
## Functions ## Functions
| Function (default) | Function (with `z`) | Command | Description | | Function (default) | Function (with `z`) | Command | Description |
| ------------------- | ------------------- | ------------------------ | -------------------- | | ------------------- | ------------------- | ---------------------------------- | ---------------------- |
| `zja` | `za` | `zellij attach` | Attach to a session | | `zja` | `za` | `zellij attach` | Attach to a session |
| `zjd` | `zd` | `zellij delete-session` | Delete a session | | `zjd` | `zd` | `zellij delete-session` | Delete a session |
| `zjk` | `zk` | `zellij kill-session` | Kill a 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): The following convenience functions are always available (unless the name is already taken):

View file

@ -69,6 +69,16 @@ if ! _omz_zellij_taken "${_zellij_short_prefix}k"; then
_zellij_running_session_targets+=("${_zellij_short_prefix}k") _zellij_running_session_targets+=("${_zellij_short_prefix}k")
fi fi
if ! _omz_zellij_taken "${_zellij_short_prefix}ad"; then
alias ${_zellij_short_prefix}ad='zellij action detach'
_zellij_comp_targets+=("${_zellij_short_prefix}ad")
fi
if ! _omz_zellij_taken "${_zellij_short_prefix}as"; then
eval "${_zellij_short_prefix}as() { command zellij action switch-session \"\$@\"; }"
_zellij_all_session_targets+=("${_zellij_short_prefix}as")
fi
(( $+functions[zr] || $+aliases[zr] || $+commands[zr] )) || zr() { command zellij run -- "$@"; } (( $+functions[zr] || $+aliases[zr] || $+commands[zr] )) || zr() { command zellij run -- "$@"; }
(( $+functions[zrf] || $+aliases[zrf] || $+commands[zrf] )) || zrf() { command zellij run --floating -- "$@"; } (( $+functions[zrf] || $+aliases[zrf] || $+commands[zrf] )) || zrf() { command zellij run --floating -- "$@"; }
(( $+functions[ze] || $+aliases[ze] || $+commands[ze] )) || ze() { command zellij edit "$@"; } (( $+functions[ze] || $+aliases[ze] || $+commands[ze] )) || ze() { command zellij edit "$@"; }