From 30e516a3aa47d90b5f507d5ddacb1b9b69567975 Mon Sep 17 00:00:00 2001 From: nasso <11479594+nasso@users.noreply.github.com> Date: Mon, 3 Mar 2025 17:15:43 +0100 Subject: feat(jj): add jujutsu plugin (#12292) --- plugins/jj/jj.plugin.zsh | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 plugins/jj/jj.plugin.zsh (limited to 'plugins/jj/jj.plugin.zsh') diff --git a/plugins/jj/jj.plugin.zsh b/plugins/jj/jj.plugin.zsh new file mode 100644 index 000000000..9f683923d --- /dev/null +++ b/plugins/jj/jj.plugin.zsh @@ -0,0 +1,53 @@ +# if jj is not found, don't do the rest of the script +if (( ! $+commands[jj] )); then + return +fi + +# If the completion file doesn't exist yet, we need to autoload it and +# bind it to `jj`. Otherwise, compinit will have already done that. +if [[ ! -f "$ZSH_CACHE_DIR/completions/_jj" ]]; then + typeset -g -A _comps + autoload -Uz _jj + _comps[jj]=_jj +fi + +jj util completion zsh >| "$ZSH_CACHE_DIR/completions/_jj" &| + +function __jj_prompt_jj() { + local -a flags + flags=("--no-pager") + if zstyle -t ':omz:plugins:jj' ignore-working-copy; then + flags+=("--ignore-working-copy") + fi + command jj $flags "$@" +} + +# convenience functions for themes +function jj_prompt_template_raw() { + __jj_prompt_jj log --no-graph -r @ -T "$@" 2> /dev/null +} + +function jj_prompt_template() { + local out + out=$(jj_prompt_template_raw "$@") || return 1 + echo "${out:gs/%/%%}" +} + +# Aliases (sorted alphabetically) +alias jjc='jj commit' +alias jjcmsg='jj commit --message' +alias jjd='jj diff' +alias jjdmsg='jj desc --message' +alias jjds='jj desc' +alias jje='jj edit' +alias jjgcl='jj git clone' +alias jjgf='jj git fetch' +alias jjgp='jj git push' +alias jjl='jj log' +alias jjla='jj log -r "all()"' +alias jjn='jj new' +alias jjrb='jj rebase' +alias jjrs='jj restore' +alias jjrt='cd "$(jj root || echo .)"' +alias jjsp='jj split' +alias jjsq='jj squash' -- cgit v1.2.3-70-g09d2 From 1c2127727af0ac452292f844ee32306f12906d03 Mon Sep 17 00:00:00 2001 From: nasso <11479594+nasso@users.noreply.github.com> Date: Tue, 4 Mar 2025 11:46:29 +0100 Subject: feat(jj): enable dynamic completion (#13003) --- plugins/jj/jj.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'plugins/jj/jj.plugin.zsh') diff --git a/plugins/jj/jj.plugin.zsh b/plugins/jj/jj.plugin.zsh index 9f683923d..06c04958b 100644 --- a/plugins/jj/jj.plugin.zsh +++ b/plugins/jj/jj.plugin.zsh @@ -11,7 +11,7 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_jj" ]]; then _comps[jj]=_jj fi -jj util completion zsh >| "$ZSH_CACHE_DIR/completions/_jj" &| +COMPLETE=zsh jj >| "$ZSH_CACHE_DIR/completions/_jj" &| function __jj_prompt_jj() { local -a flags -- cgit v1.2.3-70-g09d2 From 62afbdebb96bf91c044a92b75d86f85a67da67a7 Mon Sep 17 00:00:00 2001 From: Cyril Plisko Date: Tue, 6 May 2025 18:27:04 +0300 Subject: feat(jj): add `jjgfa` alias (#13105) --- plugins/jj/README.md | 1 + plugins/jj/jj.plugin.zsh | 1 + 2 files changed, 2 insertions(+) (limited to 'plugins/jj/jj.plugin.zsh') diff --git a/plugins/jj/README.md b/plugins/jj/README.md index cd43ed11b..541b8f907 100644 --- a/plugins/jj/README.md +++ b/plugins/jj/README.md @@ -20,6 +20,7 @@ plugins=(... jj) | jje | `jj edit` | | jjgcl | `jj git clone` | | jjgf | `jj git fetch` | +| jjgfa | `jj git fetch --all-remotes` | | jjgp | `jj git push` | | jjl | `jj log` | | jjla | `jj log -r "all()"` | diff --git a/plugins/jj/jj.plugin.zsh b/plugins/jj/jj.plugin.zsh index 06c04958b..825460517 100644 --- a/plugins/jj/jj.plugin.zsh +++ b/plugins/jj/jj.plugin.zsh @@ -42,6 +42,7 @@ alias jjds='jj desc' alias jje='jj edit' alias jjgcl='jj git clone' alias jjgf='jj git fetch' +alias jjgfa='jj git fetch --all-remotes' alias jjgp='jj git push' alias jjl='jj log' alias jjla='jj log -r "all()"' -- cgit v1.2.3-70-g09d2 From a98a9f7122d583a9547e9a8b2ab8c14570fc6e54 Mon Sep 17 00:00:00 2001 From: Cyril Plisko Date: Fri, 5 Dec 2025 13:00:56 +0200 Subject: feat(jj): add `jj` aliases for common workflows (#13179) - jj bookmark Aliases for bookmark subcommands - jj git push Aliases for popular push flags - jj new "trunk()" - jj rebase -d "trunk()" - jj status --- plugins/jj/README.md | 17 +++++++++++++++++ plugins/jj/jj.plugin.zsh | 16 ++++++++++++++++ 2 files changed, 33 insertions(+) (limited to 'plugins/jj/jj.plugin.zsh') diff --git a/plugins/jj/README.md b/plugins/jj/README.md index 541b8f907..fd964e309 100644 --- a/plugins/jj/README.md +++ b/plugins/jj/README.md @@ -12,6 +12,16 @@ plugins=(... jj) | Alias | Command | | ------ | ----------------------------- | +| jjb | `jj bookmark` | +| jjbc | `jj bookmark create` | +| jjbd | `jj bookmark delete` | +| jjbf | `jj bookmark forget` | +| jjbl | `jj bookmark list` | +| jjbm | `jj bookmark move` | +| jjbr | `jj bookmark rename` | +| jjbs | `jj bookmark set` | +| jjbt | `jj bookmark track` | +| jjbu | `jj bookmark untrack` | | jjc | `jj commit` | | jjcmsg | `jj commit --message` | | jjd | `jj diff` | @@ -22,14 +32,20 @@ plugins=(... jj) | jjgf | `jj git fetch` | | jjgfa | `jj git fetch --all-remotes` | | jjgp | `jj git push` | +| jjgpa | `jj git push --all` | +| jjgpd | `jj git push --deleted` | +| jjgpt | `jj git push --tracked` | | jjl | `jj log` | | jjla | `jj log -r "all()"` | | jjn | `jj new` | +| jjnt | `jj new "trunk()"` | | jjrb | `jj rebase` | +| jjrbm | `jj rebase -d "trunk()"` | | jjrs | `jj restore` | | jjrt | `cd "$(jj root \|\| echo .)"` | | jjsp | `jj split` | | jjsq | `jj squash` | +| jjst | `jj status` | ## Prompt usage @@ -88,3 +104,4 @@ that. ## Contributors - [nasso](https://github.com/nasso) - Plugin Author +- [imp](https://github.com/imp) - Occasional Alias Contributor diff --git a/plugins/jj/jj.plugin.zsh b/plugins/jj/jj.plugin.zsh index 825460517..696bc380b 100644 --- a/plugins/jj/jj.plugin.zsh +++ b/plugins/jj/jj.plugin.zsh @@ -34,6 +34,16 @@ function jj_prompt_template() { } # Aliases (sorted alphabetically) +alias jjb='jj bookmark' +alias jjbc='jj bookmark create' +alias jjbd='jj bookmark delete' +alias jjbf='jj bookmark forget' +alias jjbl='jj bookmark list' +alias jjbm='jj bookmark move' +alias jjbr='jj bookmark rename' +alias jjbs='jj bookmark set' +alias jjbt='jj bookmark track' +alias jjbu='jj bookmark untrack' alias jjc='jj commit' alias jjcmsg='jj commit --message' alias jjd='jj diff' @@ -44,11 +54,17 @@ alias jjgcl='jj git clone' alias jjgf='jj git fetch' alias jjgfa='jj git fetch --all-remotes' alias jjgp='jj git push' +alias jjgpa='jj git push --all' +alias jjgpd='jj git push --deleted' +alias jjgpt='jj git push --tracked' alias jjl='jj log' alias jjla='jj log -r "all()"' alias jjn='jj new' +alias jjnt='jj new "trunk()"' alias jjrb='jj rebase' +alias jjrbm='jj rebase -d "trunk()"' alias jjrs='jj restore' alias jjrt='cd "$(jj root || echo .)"' alias jjsp='jj split' alias jjsq='jj squash' +alias jjst='jj status' -- cgit v1.2.3-70-g09d2