mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2026-09-28 14:06:12 +02:00
Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b37d4878ed | ||
|
|
426650fbe8 | ||
|
|
8a5b393088 | ||
|
|
87d4d40418 |
+7
-1
@@ -100,7 +100,13 @@ done
|
|||||||
# Figure out the SHORT hostname
|
# Figure out the SHORT hostname
|
||||||
if [[ "$OSTYPE" = darwin* ]]; then
|
if [[ "$OSTYPE" = darwin* ]]; then
|
||||||
# macOS's $HOST changes with dhcp, etc. Use LocalHostName if possible.
|
# macOS's $HOST changes with dhcp, etc. Use LocalHostName if possible.
|
||||||
SHORT_HOST=$(scutil --get LocalHostName 2>/dev/null) || SHORT_HOST="${HOST/.*/}"
|
# When $HOST is the Bonjour name (<LocalHostName>.local) it already is the
|
||||||
|
# LocalHostName, so don't fork scutil to look it up.
|
||||||
|
if [[ "$HOST" = *.local ]]; then
|
||||||
|
SHORT_HOST="${HOST%.local}"
|
||||||
|
else
|
||||||
|
SHORT_HOST=$(scutil --get LocalHostName 2>/dev/null) || SHORT_HOST="${HOST/.*/}"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
SHORT_HOST="${HOST/.*/}"
|
SHORT_HOST="${HOST/.*/}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -19,35 +19,54 @@ plugins=(... jj)
|
|||||||
| jjbd | `jj bookmark delete` |
|
| jjbd | `jj bookmark delete` |
|
||||||
| jjbf | `jj bookmark forget` |
|
| jjbf | `jj bookmark forget` |
|
||||||
| jjbl | `jj bookmark list` |
|
| jjbl | `jj bookmark list` |
|
||||||
|
| jjblt | `jj bookmark list --tracked` |
|
||||||
| jjbm | `jj bookmark move` |
|
| jjbm | `jj bookmark move` |
|
||||||
| jjbr | `jj bookmark rename` |
|
| jjbr | `jj bookmark rename` |
|
||||||
| jjbs | `jj bookmark set` |
|
| jjbs | `jj bookmark set` |
|
||||||
| jjbt | `jj bookmark track` |
|
| jjbt | `jj bookmark track` |
|
||||||
| jjbu | `jj bookmark untrack` |
|
| jjbu | `jj bookmark untrack` |
|
||||||
| jjc | `jj commit` |
|
| jjc | `jj commit` |
|
||||||
|
| jjcfg | `jj config` |
|
||||||
|
| jjcfgl | `jj config list` |
|
||||||
| jjcmsg | `jj commit --message` |
|
| jjcmsg | `jj commit --message` |
|
||||||
| jjd | `jj diff` |
|
| jjd | `jj diff` |
|
||||||
| jjdmsg | `jj desc --message` |
|
| jjdmsg | `jj desc --message` |
|
||||||
| jjds | `jj desc` |
|
| jjds | `jj desc` |
|
||||||
|
| jjdst | `jj diff --stat` |
|
||||||
| jje | `jj edit` |
|
| jje | `jj edit` |
|
||||||
|
| jjev | `jj evolog` |
|
||||||
|
| jjf | `jj file` |
|
||||||
|
| jjfl | `jj file list` |
|
||||||
|
| jjg | `jj git` |
|
||||||
| jjgcl | `jj git clone` |
|
| jjgcl | `jj git clone` |
|
||||||
| jjgf | `jj git fetch` |
|
| jjgf | `jj git fetch` |
|
||||||
| jjgfa | `jj git fetch --all-remotes` |
|
| jjgfa | `jj git fetch --all-remotes` |
|
||||||
|
| jjgi | `jj git init` |
|
||||||
| jjgp | `jj git push` |
|
| jjgp | `jj git push` |
|
||||||
| jjgpa | `jj git push --all` |
|
| jjgpa | `jj git push --all` |
|
||||||
| jjgpd | `jj git push --deleted` |
|
| jjgpd | `jj git push --deleted` |
|
||||||
| jjgpt | `jj git push --tracked` |
|
| jjgpt | `jj git push --tracked` |
|
||||||
|
| jjgrl | `jj git remote list` |
|
||||||
| jjl | `jj log` |
|
| jjl | `jj log` |
|
||||||
| jjla | `jj log -r "all()"` |
|
| jjla | `jj log -r "all()"` |
|
||||||
| jjn | `jj new` |
|
| jjn | `jj new` |
|
||||||
| jjnt | `jj new "trunk()"` |
|
| jjnt | `jj new "trunk()"` |
|
||||||
|
| jjop | `jj op` |
|
||||||
|
| jjopl | `jj op log` |
|
||||||
|
| jjor | `jj op restore` |
|
||||||
| jjrb | `jj rebase` |
|
| jjrb | `jj rebase` |
|
||||||
| jjrbm | `jj rebase -d "trunk()"` |
|
| jjrbm | `jj rebase -d "trunk()"` |
|
||||||
| jjrs | `jj restore` |
|
| jjrs | `jj restore` |
|
||||||
| jjrt | `cd "$(jj root \|\| echo .)"` |
|
| jjrt | `cd "$(jj root \|\| echo .)"` |
|
||||||
|
| jjs | `jj show` |
|
||||||
| jjsp | `jj split` |
|
| jjsp | `jj split` |
|
||||||
| jjsq | `jj squash` |
|
| jjsq | `jj squash` |
|
||||||
| jjst | `jj status` |
|
| jjst | `jj status` |
|
||||||
|
| jju | `jj undo` |
|
||||||
|
| jjw | `jj workspace` |
|
||||||
|
| jjwa | `jj workspace add` |
|
||||||
|
| jjwf | `jj workspace forget` |
|
||||||
|
| jjwl | `jj workspace list` |
|
||||||
|
|
||||||
## Prompt usage
|
## Prompt usage
|
||||||
|
|
||||||
|
|||||||
@@ -45,34 +45,51 @@ alias jjbc='jj bookmark create'
|
|||||||
alias jjbd='jj bookmark delete'
|
alias jjbd='jj bookmark delete'
|
||||||
alias jjbf='jj bookmark forget'
|
alias jjbf='jj bookmark forget'
|
||||||
alias jjbl='jj bookmark list'
|
alias jjbl='jj bookmark list'
|
||||||
|
alias jjblt='jj bookmark list --tracked'
|
||||||
alias jjbm='jj bookmark move'
|
alias jjbm='jj bookmark move'
|
||||||
alias jjbr='jj bookmark rename'
|
alias jjbr='jj bookmark rename'
|
||||||
alias jjbs='jj bookmark set'
|
alias jjbs='jj bookmark set'
|
||||||
alias jjbt='jj bookmark track'
|
alias jjbt='jj bookmark track'
|
||||||
alias jjbu='jj bookmark untrack'
|
alias jjbu='jj bookmark untrack'
|
||||||
alias jjc='jj commit'
|
alias jjc='jj commit'
|
||||||
|
alias jjcfg='jj config'
|
||||||
|
alias jjcfgl='jj config list'
|
||||||
alias jjcmsg='jj commit --message'
|
alias jjcmsg='jj commit --message'
|
||||||
alias jjd='jj diff'
|
alias jjd='jj diff'
|
||||||
alias jjdmsg='jj desc --message'
|
alias jjdmsg='jj desc --message'
|
||||||
alias jjds='jj desc'
|
alias jjds='jj desc'
|
||||||
|
alias jjdst='jj diff --stat'
|
||||||
alias jje='jj edit'
|
alias jje='jj edit'
|
||||||
|
alias jjev='jj evolog'
|
||||||
|
alias jjf='jj file'
|
||||||
|
alias jjfl='jj file list'
|
||||||
|
alias jjg='jj git'
|
||||||
alias jjgcl='jj git clone'
|
alias jjgcl='jj git clone'
|
||||||
alias jjgf='jj git fetch'
|
alias jjgf='jj git fetch'
|
||||||
alias jjgfa='jj git fetch --all-remotes'
|
alias jjgfa='jj git fetch --all-remotes'
|
||||||
|
alias jjgi='jj git init'
|
||||||
alias jjgp='jj git push'
|
alias jjgp='jj git push'
|
||||||
alias jjgpa='jj git push --all'
|
alias jjgpa='jj git push --all'
|
||||||
alias jjgpd='jj git push --deleted'
|
alias jjgpd='jj git push --deleted'
|
||||||
alias jjgpt='jj git push --tracked'
|
alias jjgpt='jj git push --tracked'
|
||||||
|
alias jjgrl='jj git remote list'
|
||||||
alias jjl='jj log'
|
alias jjl='jj log'
|
||||||
alias jjla='jj log -r "all()"'
|
alias jjla='jj log -r "all()"'
|
||||||
alias jjn='jj new'
|
alias jjn='jj new'
|
||||||
alias jjnt='jj new "trunk()"'
|
alias jjnt='jj new "trunk()"'
|
||||||
|
alias jjop='jj op'
|
||||||
|
alias jjopl='jj op log'
|
||||||
|
alias jjor='jj op restore'
|
||||||
alias jjrb='jj rebase'
|
alias jjrb='jj rebase'
|
||||||
alias jjrbm='jj rebase -d "trunk()"'
|
alias jjrbm='jj rebase -d "trunk()"'
|
||||||
alias jjrs='jj restore'
|
alias jjrs='jj restore'
|
||||||
alias jjrt='cd "$(jj root || echo .)"'
|
alias jjrt='cd "$(jj root || echo .)"'
|
||||||
|
alias jjs='jj show'
|
||||||
alias jjsp='jj split'
|
alias jjsp='jj split'
|
||||||
alias jjsq='jj squash'
|
alias jjsq='jj squash'
|
||||||
alias jjst='jj status'
|
alias jjst='jj status'
|
||||||
|
alias jju='jj undo'
|
||||||
|
alias jjw='jj workspace'
|
||||||
alias jjwa='jj workspace add'
|
alias jjwa='jj workspace add'
|
||||||
alias jjwf='jj workspace forget'
|
alias jjwf='jj workspace forget'
|
||||||
|
alias jjwl='jj workspace list'
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ plugins=(... kubectl)
|
|||||||
| | | **Secret management** |
|
| | | **Secret management** |
|
||||||
| kgsec | `kubectl get secret` | Get secret for decoding |
|
| kgsec | `kubectl get secret` | Get secret for decoding |
|
||||||
| kgseca | `kubectl get secret --all-namespaces` | List secrets across all namespaces |
|
| kgseca | `kubectl get secret --all-namespaces` | List secrets across all namespaces |
|
||||||
|
| kesec | `kubectl edit secret` | Edit secret resource |
|
||||||
| kdsec | `kubectl describe secret` | Describe secret resource in detail |
|
| kdsec | `kubectl describe secret` | Describe secret resource in detail |
|
||||||
| kdelsec | `kubectl delete secret` | Delete the secret |
|
| kdelsec | `kubectl delete secret` | Delete the secret |
|
||||||
| | | **Deployment management** |
|
| | | **Deployment management** |
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ alias kdelcm='kubectl delete configmap'
|
|||||||
# Secret management
|
# Secret management
|
||||||
alias kgsec='kubectl get secret'
|
alias kgsec='kubectl get secret'
|
||||||
alias kgseca='kubectl get secret --all-namespaces'
|
alias kgseca='kubectl get secret --all-namespaces'
|
||||||
|
alias kesec='kubectl edit secret'
|
||||||
alias kdsec='kubectl describe secret'
|
alias kdsec='kubectl describe secret'
|
||||||
alias kdelsec='kubectl delete secret'
|
alias kdelsec='kubectl delete secret'
|
||||||
|
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
# - https://github.com/symfony/symfony/blob/5.4/src/Symfony/Component/Console/Resources/completion.bash
|
# - https://github.com/symfony/symfony/blob/5.4/src/Symfony/Component/Console/Resources/completion.bash
|
||||||
#
|
#
|
||||||
_sf_console() {
|
_sf_console() {
|
||||||
local lastParam flagPrefix requestComp out comp
|
local lastParam out comp sf_cmd
|
||||||
local -a completions
|
local -a completions flagPrefix requestComp inputs
|
||||||
|
|
||||||
# The user could have moved the cursor backwards on the command-line.
|
# The user could have moved the cursor backwards on the command-line.
|
||||||
# We need to trigger completion from the $CURRENT location, so we need
|
# We need to trigger completion from the $CURRENT location, so we need
|
||||||
@@ -29,11 +29,20 @@ _sf_console() {
|
|||||||
setopt local_options BASH_REMATCH
|
setopt local_options BASH_REMATCH
|
||||||
if [[ "${lastParam}" =~ '-.*=' ]]; then
|
if [[ "${lastParam}" =~ '-.*=' ]]; then
|
||||||
# We are dealing with a flag with an =
|
# We are dealing with a flag with an =
|
||||||
flagPrefix="-P ${BASH_REMATCH}"
|
flagPrefix=(-P "${BASH_REMATCH}")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Prepare the command to obtain completions
|
# Prepare the command to obtain completions. An alias is resolved here,
|
||||||
requestComp="${words[0]} ${words[1]} _complete --no-interaction -szsh -a1 -c$((CURRENT-1))" i=""
|
# because the request is no longer read again by the shell.
|
||||||
|
sf_cmd="${words[1]}"
|
||||||
|
if [[ -n "${aliases[$sf_cmd]}" ]]; then
|
||||||
|
requestComp=(${(z)aliases[$sf_cmd]})
|
||||||
|
else
|
||||||
|
requestComp=(${~sf_cmd})
|
||||||
|
fi
|
||||||
|
|
||||||
|
requestComp+=(_complete --no-interaction -szsh -a1 "-c$((CURRENT-1))")
|
||||||
|
|
||||||
for w in ${words[@]}; do
|
for w in ${words[@]}; do
|
||||||
w=$(printf -- '%b' "$w")
|
w=$(printf -- '%b' "$w")
|
||||||
# remove quotes from typed values
|
# remove quotes from typed values
|
||||||
@@ -47,19 +56,18 @@ _sf_console() {
|
|||||||
fi
|
fi
|
||||||
# empty values are ignored
|
# empty values are ignored
|
||||||
if [ ! -z "$w" ]; then
|
if [ ! -z "$w" ]; then
|
||||||
i="${i}-i${w} "
|
inputs+=("-i$w")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Ensure at least 1 input
|
# Ensure at least 1 input
|
||||||
if [ "${i}" = "" ]; then
|
if (( ! $#inputs )); then
|
||||||
requestComp="${requestComp} -i\" \""
|
inputs=(-i' ')
|
||||||
else
|
|
||||||
requestComp="${requestComp} ${i}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Use eval to handle any environment variables and such
|
# The request is run without being read again by the shell, so that a
|
||||||
out=$(eval ${requestComp} 2>/dev/null)
|
# "$(...)" or a backtick typed on the command line is not executed
|
||||||
|
out=$(SHELL_VERBOSITY=0 "${requestComp[@]}" "${inputs[@]}" 2>/dev/null)
|
||||||
|
|
||||||
while IFS='\n' read -r comp; do
|
while IFS='\n' read -r comp; do
|
||||||
if [ -n "$comp" ]; then
|
if [ -n "$comp" ]; then
|
||||||
@@ -75,7 +83,7 @@ _sf_console() {
|
|||||||
done < <(printf "%s\n" "${out[@]}")
|
done < <(printf "%s\n" "${out[@]}")
|
||||||
|
|
||||||
# Let inbuilt _describe handle completions
|
# Let inbuilt _describe handle completions
|
||||||
eval _describe "completions" completions $flagPrefix
|
_describe "completions" completions "${flagPrefix[@]}"
|
||||||
return $?
|
return $?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user