summaryrefslogtreecommitdiff
path: root/scripts/deploy/zsh_support/jvcs.plugin.zsh
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-03-14 22:12:30 +0800
committer魏曹先生 <1992414357@qq.com>2026-03-14 22:40:12 +0800
commit72f80ea51f25256d0c463c2f3dc3d8670cfc4634 (patch)
treeb200a3ab1a4c718034458863570a064b52bafdcd /scripts/deploy/zsh_support/jvcs.plugin.zsh
parent54b5567d6f1b1adaa6ada6a26faba0c5c492b7f3 (diff)
Add shell completions for new jvn CLI
Diffstat (limited to 'scripts/deploy/zsh_support/jvcs.plugin.zsh')
-rw-r--r--scripts/deploy/zsh_support/jvcs.plugin.zsh156
1 files changed, 0 insertions, 156 deletions
diff --git a/scripts/deploy/zsh_support/jvcs.plugin.zsh b/scripts/deploy/zsh_support/jvcs.plugin.zsh
deleted file mode 100644
index ff3f213..0000000
--- a/scripts/deploy/zsh_support/jvcs.plugin.zsh
+++ /dev/null
@@ -1,156 +0,0 @@
-# ████████ ████████
-# ██▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒██
-# ██ ▒▒██ ██▒▒ ██ █████ ██ ██ ██████ █████
-# ██ ▒▒████████▒▒ ██ ▒▒▒██ ██ ██ ██████ ██████
-# ██ ▒▒▒▒▒▒▒▒ ██ ██ ██ ██ ███▒▒▒█ █▒▒▒▒█
-# ██ ██ ██ ██ ██ ███ ▒ ████ ▒
-# ██ ██ ██ ██ ██ ███ ▒████
-# ██ ████ ████ ██ ██ ▒██ ██▒ ███ ▒▒▒██
-# ██ ████ ████ ██ █ ██ ██ ██ ███ █ ██ ██
-# ██ ████ ████ ██ █ ██ ▒████▒ ▒██████ ██████
-# ██ ▒▒▒▒ ▒▒▒▒ █ ██ ▒████ ▒██▒ ██████ ▒████▒
-# ██ ██ ██ ▒▒▒▒ ▒▒ ▒▒▒▒▒▒ ▒▒▒▒
-# ██ ██████████ ██
-# ██ ██ JustEnoughVCS CommandLine
-# ████████████████████████████████ Zsh Plugin
-# ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
-
-autoload -Uz add-zsh-hook
-
-##################
-### APPEARANCE ###
-##################
-
-JVCS_VIEW='NORMAL'
-JVCS_PREFIX='['
-JVCS_SPLIT='/'
-JVCS_SUFFIX=']'
-
-###################
-### THEME READS ###
-###################
-
-JVCS_PROMPT_SEGMENT=''
-
-######################
-### INTERNAL STATE ###
-######################
-
-JVCS_DISPLAY=''
-JVCS_WS=''
-JVCS_ACCOUNT=''
-JVCS_SHEET=''
-JVCS_UPSTREAM=''
-
-###################
-### STATE LAYER ###
-###################
-
-jvcs_read_state() {
- if command -v jv &>/dev/null; then
- JVCS_WS="$(jv _workspace_dir 2>/dev/null)"
- JVCS_ACCOUNT="$(jv _account 2>/dev/null)"
- JVCS_SHEET="$(jv _sheet 2>/dev/null)"
- JVCS_UPSTREAM="$(jv _upstream 2>/dev/null)"
- else
- JVCS_WS=''
- JVCS_ACCOUNT=''
- JVCS_SHEET=''
- JVCS_UPSTREAM=''
- fi
-}
-
-##################
-### VIEW LAYER ###
-##################
-
-jvcs_compute_view() {
- # Must be in a Workspace, otherwise do not display
- if [[ -z "$JVCS_WS" ]]; then
- JVCS_DISPLAY=''
- return
- fi
- JVCS_DISPLAY='1'
-}
-
-####################
-### RENDER LAYER ###
-####################
-
-jvcs_render_prompt() {
- # Only set prompt segment if display is enabled
- if [[ -n "$JVCS_DISPLAY" ]]; then
- case "$JVCS_VIEW" in
- FULL)
- JVCS_PROMPT_SEGMENT="%{$fg[white]%}${JVCS_PREFIX}${JVCS_UPSTREAM}${JVCS_SPLIT}${JVCS_ACCOUNT}${JVCS_SPLIT}${JVCS_SHEET}${JVCS_SUFFIX} %{$reset_color%}"
- ;;
- NORMAL)
- JVCS_PROMPT_SEGMENT="%{$fg[white]%}${JVCS_PREFIX}${JVCS_ACCOUNT}${JVCS_SPLIT}${JVCS_SHEET}${JVCS_SUFFIX} %{$reset_color%}"
- ;;
- SHORT)
- JVCS_PROMPT_SEGMENT="%{$fg[white]%}${JVCS_PREFIX}${JVCS_SHEET}${JVCS_SUFFIX} %{$reset_color%}"
- ;;
- *)
- JVCS_PROMPT_SEGMENT=''
- ;;
- esac
- else
- JVCS_PROMPT_SEGMENT=''
- fi
-}
-
-####################
-### ORCHESTRATOR ###
-####################
-
-jvcs_update() {
- jvcs_read_state
- jvcs_compute_view
- jvcs_render_prompt
-}
-
-#############
-### HOOKS ###
-#############
-
-JVCS_NEED_REFRESH=0
-
-jvcs_preexec() {
- case "$1" in
- jv\ status | \
- jv\ use* | \
- jv\ as* | \
- jv\ exit | \
- jv\ sheet\ use* | \
- jv\ sheet\ sheet\ exit | \
- jv\ account\ as*)
- JVCS_NEED_REFRESH=1
- ;;
- esac
-}
-
-jvcs_precmd() {
- [[ "$JVCS_NEED_REFRESH" -eq 1 ]] || return
- JVCS_NEED_REFRESH=0
- jvcs_update
-}
-
-jvcs_chpwd() {
- jvcs_update
-}
-
-add-zsh-hook preexec jvcs_preexec
-add-zsh-hook precmd jvcs_precmd
-add-zsh-hook chpwd jvcs_chpwd
-
-###############################
-### FALLBACK INITIALIZATION ###
-###############################
-
-jvcs_precmd_init() {
- [[ -n "${JVCS_INITIALIZED:-}" ]] && return
- JVCS_INITIALIZED=1
- jvcs_update
-}
-
-add-zsh-hook precmd jvcs_precmd_init