mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-04-10 04:26:17 +02:00
feat(zellij): add session functions, convenience commands, and smart completions
- Use functions for attach/delete/kill to enable session-aware completions - Add zr, zrf, ze convenience functions with conflict detection - Improve z prefix collision check (aliases, functions, commands) - Cache completions synchronously on first load, background on updates - Update README to document new functions and completion behavior Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
6b292d300e
commit
e564461958
2 changed files with 100 additions and 34 deletions
|
|
@ -1,7 +1,8 @@
|
|||
# zellij
|
||||
|
||||
This plugin provides aliases and completions for [zellij](https://zellij.dev/), the terminal workspace
|
||||
(multiplexer). To use it, add `zellij` to the plugins array in your zshrc file.
|
||||
This plugin provides aliases, functions, and completions for [zellij](https://zellij.dev/),
|
||||
the terminal workspace (multiplexer). To use it, add `zellij` to the plugins array in your
|
||||
zshrc file.
|
||||
|
||||
```zsh
|
||||
plugins=(... zellij)
|
||||
|
|
@ -16,25 +17,42 @@ variable before oh-my-zsh is sourced:
|
|||
ZSH_ZELLIJ_PREFIX_Z=true
|
||||
```
|
||||
|
||||
> **Note:** If `z` is already aliased by another plugin (e.g., zoxide), the prefix stays `zj`
|
||||
> even when `ZSH_ZELLIJ_PREFIX_Z` is set.
|
||||
> **Note:** If `z` is already defined as an alias, function, or command by another plugin
|
||||
> (e.g., zoxide), the `zj` prefix is used for the main `zellij` alias even when
|
||||
> `ZSH_ZELLIJ_PREFIX_Z` is set.
|
||||
|
||||
## Aliases
|
||||
|
||||
| Alias (default) | Alias (with `z`) | Command | Description |
|
||||
| ---------------- | ---------------- | ---------------------------- | ------------------------ |
|
||||
| `zj` | `z` | `zellij` | Zellij command |
|
||||
| `zja` | `za` | `zellij attach` | Attach to a session |
|
||||
| `zjd` | `zd` | `zellij delete-session` | Delete a session |
|
||||
| `zjda` | `zda` | `zellij delete-all-sessions` | Delete all sessions |
|
||||
| `zjk` | `zk` | `zellij kill-session` | Kill a session |
|
||||
| `zjka` | `zka` | `zellij kill-all-sessions` | Kill all sessions |
|
||||
| `zjl` | `zl` | `zellij list-sessions` | List sessions |
|
||||
| `zjr` | `zr` | `zellij run` | Run a command in a pane |
|
||||
| `zjs` | `zs` | `zellij -s` | Start a named session |
|
||||
| `zjda` | `zda` | `zellij delete-all-sessions` | Delete all sessions |
|
||||
| `zjka` | `zka` | `zellij kill-all-sessions` | Kill all sessions |
|
||||
| `zjr` | — | `zellij run` | Run a command in a pane |
|
||||
|
||||
## Functions
|
||||
|
||||
| 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 |
|
||||
|
||||
The following convenience functions are always available (unless the name is already taken):
|
||||
|
||||
| Function | Command | Description |
|
||||
| -------- | ---------------------------- | ---------------------------------- |
|
||||
| `zr` | `zellij run --` | Run a command in a pane |
|
||||
| `zrf` | `zellij run --floating --` | Run a command in a floating pane |
|
||||
| `ze` | `zellij edit` | Edit a file in a pane |
|
||||
|
||||
## Completions
|
||||
|
||||
This plugin caches the zellij completion script in the background (using the same approach as
|
||||
the [gh](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gh) plugin). On first load the
|
||||
cache is generated; completions become available in the next shell session.
|
||||
This plugin caches the zellij completion script. On first load the cache is generated
|
||||
synchronously; subsequent updates (when the `zellij` binary is newer than the cache) happen in
|
||||
the background.
|
||||
|
||||
Session-aware completions are provided for `attach`, `delete-session`, and `kill-session`
|
||||
functions — only relevant sessions (all, running, or exited) are offered.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue