mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2026-09-28 22:16:05 +02:00
Compare commits
25
Commits
e7852049a5
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
83a0ec79ee | ||
|
|
c5852b1101 | ||
|
|
68795c2170 | ||
|
|
f809d46c10 | ||
|
|
0431f1c33d | ||
|
|
a3c88eba72 | ||
|
|
6881f37316 | ||
|
|
1d66682636 | ||
|
|
ce7f8c3224 | ||
|
|
f8e13d714e | ||
|
|
95ba6ae764 | ||
|
|
74965c9609 | ||
|
|
1b2d741f19 | ||
|
|
4ccc63333c | ||
|
|
40bddc3c1a | ||
|
|
8d421b6309 | ||
|
|
7d1b2a25ca | ||
|
|
86ef6555e0 | ||
|
|
32d7277ac3 | ||
|
|
e0d3557e14 | ||
|
|
b6830a53d5 | ||
|
|
fa82d8a3eb | ||
|
|
6421f8e104 | ||
|
|
0b50afdbfd | ||
|
|
157eb033f2 |
@@ -5,6 +5,7 @@ plugins/eza/ @pepoluan
|
|||||||
plugins/genpass/ @atoponce
|
plugins/genpass/ @atoponce
|
||||||
plugins/git-lfs/ @hellovietduc
|
plugins/git-lfs/ @hellovietduc
|
||||||
plugins/gitfast/ @felipec
|
plugins/gitfast/ @felipec
|
||||||
|
plugins/hermes/ @Uhm-why
|
||||||
plugins/kube-ps1/ @mcornella
|
plugins/kube-ps1/ @mcornella
|
||||||
plugins/kubectl/ @mcornella
|
plugins/kubectl/ @mcornella
|
||||||
plugins/kubectx/ @mcornella
|
plugins/kubectx/ @mcornella
|
||||||
|
|||||||
@@ -12,14 +12,14 @@ dependencies:
|
|||||||
plugins/gradle:
|
plugins/gradle:
|
||||||
repo: gradle/gradle-completion
|
repo: gradle/gradle-completion
|
||||||
branch: master
|
branch: master
|
||||||
version: e7c881dbef7462bc35ad05328397e1582fe25cb8
|
version: 05693a01fcb246bc4e8fc32a8d561dc537aaedf2
|
||||||
precopy: |
|
precopy: |
|
||||||
set -e
|
set -e
|
||||||
find . ! -name _gradle ! -name LICENSE -delete
|
find . ! -name _gradle ! -name LICENSE -delete
|
||||||
plugins/history-substring-search:
|
plugins/history-substring-search:
|
||||||
repo: zsh-users/zsh-history-substring-search
|
repo: zsh-users/zsh-history-substring-search
|
||||||
branch: master
|
branch: master
|
||||||
version: 14c8d2e0ffaee98f2df9850b19944f32546fdea5
|
version: a0bdb0d47dbaba31dba2db7af8c48a5d9c74049a
|
||||||
precopy: |
|
precopy: |
|
||||||
set -e
|
set -e
|
||||||
rm -f zsh-history-substring-search.plugin.zsh
|
rm -f zsh-history-substring-search.plugin.zsh
|
||||||
@@ -30,7 +30,7 @@ dependencies:
|
|||||||
plugins/kube-ps1:
|
plugins/kube-ps1:
|
||||||
repo: jonmosco/kube-ps1
|
repo: jonmosco/kube-ps1
|
||||||
branch: master
|
branch: master
|
||||||
version: b4cd09ec8d4dc007173e28da40aeebf8eff8c87f
|
version: 7aaaeee5eaa29f920acd850ea63839d9f87b8ac5
|
||||||
precopy: |
|
precopy: |
|
||||||
set -e
|
set -e
|
||||||
find . ! -name kube-ps1.sh ! -name LICENSE ! -name README.md -delete
|
find . ! -name kube-ps1.sh ! -name LICENSE ! -name README.md -delete
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
certifi==2026.7.22
|
certifi==2026.7.22
|
||||||
charset-normalizer==3.5.1
|
charset-normalizer==3.5.1
|
||||||
idna==3.19
|
idna==3.20
|
||||||
PyYAML==6.0.3
|
PyYAML==6.0.3
|
||||||
requests==2.34.2
|
requests==2.34.2
|
||||||
semver==3.0.4
|
semver==3.1.0
|
||||||
urllib3==2.7.0
|
urllib3==2.8.0
|
||||||
|
|||||||
@@ -60,6 +60,6 @@ jobs:
|
|||||||
retention-days: 5
|
retention-days: 5
|
||||||
|
|
||||||
- name: "Upload to code-scanning"
|
- name: "Upload to code-scanning"
|
||||||
uses: github/codeql-action/upload-sarif@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
|
uses: github/codeql-action/upload-sarif@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
|
||||||
with:
|
with:
|
||||||
sarif_file: results.sarif
|
sarif_file: results.sarif
|
||||||
|
|||||||
+2
-1
@@ -178,7 +178,8 @@ function omz_urlencode() {
|
|||||||
setopt norematchpcre
|
setopt norematchpcre
|
||||||
|
|
||||||
local -a opts
|
local -a opts
|
||||||
zparseopts -D -E -a opts r m P
|
# Quote the specs so global aliases (e.g. common-aliases' P) don't expand here
|
||||||
|
zparseopts -D -E -a opts 'r' 'm' 'P'
|
||||||
|
|
||||||
local in_str="$@"
|
local in_str="$@"
|
||||||
local url_str=""
|
local url_str=""
|
||||||
|
|||||||
+82
-2
@@ -131,9 +131,89 @@ if [[ -z "$ZSH_COMPDUMP" ]]; then
|
|||||||
ZSH_COMPDUMP="${ZDOTDIR:-$HOME}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}"
|
ZSH_COMPDUMP="${ZDOTDIR:-$HOME}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Construct zcompdump OMZ metadata
|
# Resolve the commit $ZSH is checked out at into $REPLY by reading the git
|
||||||
zcompdump_revision="#omz revision: $(builtin cd -q "$ZSH"; git rev-parse HEAD 2>/dev/null)"
|
# directory, so that no git process is forked on every startup.
|
||||||
|
# Handles .git files (worktrees, submodules), worktree common dirs, detached
|
||||||
|
# HEADs and packed refs. Returns 1 if anything is unexpected.
|
||||||
|
_omz_git_head() {
|
||||||
|
local gitdir="$ZSH/.git" common head ref
|
||||||
|
local -a lines
|
||||||
|
REPLY=
|
||||||
|
|
||||||
|
# .git may be a file pointing at the real git dir
|
||||||
|
if [[ -f "$gitdir" ]]; then
|
||||||
|
read -r head 2>/dev/null < "$gitdir" || return 1
|
||||||
|
[[ "$head" = "gitdir: "* ]] || return 1
|
||||||
|
gitdir="${head#gitdir: }"
|
||||||
|
[[ -n "$gitdir" ]] || return 1
|
||||||
|
[[ "$gitdir" = /* ]] || gitdir="$ZSH/$gitdir"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# worktrees keep their refs in the common git dir
|
||||||
|
common="$gitdir"
|
||||||
|
if [[ -f "$gitdir/commondir" ]]; then
|
||||||
|
read -r common 2>/dev/null < "$gitdir/commondir" || return 1
|
||||||
|
[[ "$common" = /* ]] || common="$gitdir/$common"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ -r "$gitdir/HEAD" ]] || return 1
|
||||||
|
read -r head 2>/dev/null < "$gitdir/HEAD" || return 1
|
||||||
|
|
||||||
|
if [[ "$head" = ref:\ * ]]; then
|
||||||
|
ref="${head#ref: }"
|
||||||
|
|
||||||
|
# Only use well-formed full ref names as paths. Besides matching Git's ref
|
||||||
|
# rules, this prevents a malformed HEAD from escaping the git directory.
|
||||||
|
[[ "$ref" = refs/?* \
|
||||||
|
&& "$ref" != *..* \
|
||||||
|
&& "$ref" != *//* \
|
||||||
|
&& "$ref" != */ \
|
||||||
|
&& "$ref" != */.* \
|
||||||
|
&& "$ref" != *.lock \
|
||||||
|
&& "$ref" != *.lock/* \
|
||||||
|
&& "$ref" != *. \
|
||||||
|
&& "$ref" != *'@{'* \
|
||||||
|
&& "$ref" != *[[:cntrl:]\ \~\^\:\?\*\[\\]* \
|
||||||
|
]] || return 1
|
||||||
|
|
||||||
|
case "$ref" in
|
||||||
|
# These namespaces are private to each worktree and are never resolved
|
||||||
|
# from the common directory or its packed-refs file.
|
||||||
|
refs/bisect/*|refs/worktree/*|refs/rewritten/*)
|
||||||
|
[[ -r "$gitdir/$ref" ]] || return 1
|
||||||
|
read -r REPLY 2>/dev/null < "$gitdir/$ref" || return 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [[ -r "$common/$ref" ]]; then
|
||||||
|
read -r REPLY 2>/dev/null < "$common/$ref" || return 1
|
||||||
|
elif [[ -r "$common/packed-refs" ]]; then
|
||||||
|
lines=("${(@f)$(<"$common/packed-refs")}")
|
||||||
|
REPLY="${lines[(r)* ${(b)ref}]%% *}"
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
# detached HEAD: the file holds the commit itself
|
||||||
|
REPLY="$head"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# only an object ID is a usable answer: a symbolic ref, a malformed file or
|
||||||
|
# a missed packed entry all fall through to the git fallback instead
|
||||||
|
[[ -n "$REPLY" && -z "${REPLY//[0-9a-f]/}" ]] \
|
||||||
|
&& (( ${#REPLY} == 40 || ${#REPLY} == 64 ))
|
||||||
|
}
|
||||||
|
|
||||||
|
# Construct zcompdump OMZ metadata. The helper reports through $REPLY, so
|
||||||
|
# call it in a scope that keeps that out of the global namespace.
|
||||||
|
() {
|
||||||
|
local REPLY
|
||||||
|
_omz_git_head || REPLY="$(builtin cd -q "$ZSH"; git rev-parse HEAD 2>/dev/null)"
|
||||||
|
typeset -g zcompdump_revision="#omz revision: $REPLY"
|
||||||
|
}
|
||||||
zcompdump_fpath="#omz fpath: $fpath"
|
zcompdump_fpath="#omz fpath: $fpath"
|
||||||
|
unset -f _omz_git_head
|
||||||
|
|
||||||
# Check whether the zcompdump file carries the current OMZ metadata lines
|
# Check whether the zcompdump file carries the current OMZ metadata lines
|
||||||
_omz_compdump_has_metadata() {
|
_omz_compdump_has_metadata() {
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_op"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._op"
|
||||||
zf_mv -f -- =( op completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( op completion zsh ) "$ZSH_CACHE_DIR/completions/_op"
|
||||||
} &|
|
} &|
|
||||||
|
|
||||||
# Load opswd function
|
# Load opswd function
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
# Generate and load arduino-cli completion
|
# Generate and load arduino-cli completion
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_arduino-cli"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._arduino-cli"
|
||||||
zf_mv -f -- =( arduino-cli completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( arduino-cli completion zsh ) "$ZSH_CACHE_DIR/completions/_arduino-cli"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_argocd"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._argocd"
|
||||||
zf_mv -f -- =( argocd completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( argocd completion zsh ) "$ZSH_CACHE_DIR/completions/_argocd"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -14,6 +14,6 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_asdf" ]]; then
|
|||||||
fi
|
fi
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_asdf"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._asdf"
|
||||||
zf_mv -f -- =( asdf completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( asdf completion zsh ) "$ZSH_CACHE_DIR/completions/_asdf"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
# Generate and load buf completion
|
# Generate and load buf completion
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_buf"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._buf"
|
||||||
zf_mv -f -- =( buf completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( buf completion zsh ) "$ZSH_CACHE_DIR/completions/_buf"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_bun"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._bun"
|
||||||
zf_mv -f -- =( SHELL=zsh bun completions ) "$TMPPREFIX"
|
zf_mv -f -- =( SHELL=zsh bun completions ) "$ZSH_CACHE_DIR/completions/_bun"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_charm"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._charm"
|
||||||
zf_mv -f -- =( charm completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( charm completion zsh ) "$ZSH_CACHE_DIR/completions/_charm"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_chezmoi"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._chezmoi"
|
||||||
zf_mv -f -- =( chezmoi completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( chezmoi completion zsh ) "$ZSH_CACHE_DIR/completions/_chezmoi"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_codex"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._codex"
|
||||||
zf_mv -f -- =( codex completion zsh < /dev/null 2> /dev/null ) "$TMPPREFIX"
|
zf_mv -f -- =( codex completion zsh < /dev/null 2> /dev/null ) "$ZSH_CACHE_DIR/completions/_codex"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -27,6 +27,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_deno"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._deno"
|
||||||
zf_mv -f -- =( deno completions zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( deno completions zsh ) "$ZSH_CACHE_DIR/completions/_deno"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ plugins=(... docker-compose)
|
|||||||
|-----------|----------------------------------|----------------------------------------------------------------------------------|
|
|-----------|----------------------------------|----------------------------------------------------------------------------------|
|
||||||
| dco | `docker-compose` | Docker-compose main command |
|
| dco | `docker-compose` | Docker-compose main command |
|
||||||
| dcb | `docker-compose build` | Build containers |
|
| dcb | `docker-compose build` | Build containers |
|
||||||
| dcc | `docker-compose config` | Parse, resolve and render compose file in canonical format |
|
| dcc | `docker-compose config` | Parse, resolve and render compose file in canonical format |
|
||||||
| dce | `docker-compose exec` | Execute command inside a container |
|
| dce | `docker-compose exec` | Execute command inside a container |
|
||||||
| dcps | `docker-compose ps` | List containers |
|
| dcps | `docker-compose ps` | List containers |
|
||||||
| dcrestart | `docker-compose restart` | Restart container |
|
| dcrestart | `docker-compose restart` | Restart container |
|
||||||
@@ -35,3 +35,6 @@ plugins=(... docker-compose)
|
|||||||
| dcpull | `docker-compose pull` | Pull image of a service |
|
| dcpull | `docker-compose pull` | Pull image of a service |
|
||||||
| dcstart | `docker-compose start` | Start a container |
|
| dcstart | `docker-compose start` | Start a container |
|
||||||
| dck | `docker-compose kill` | Kills containers |
|
| dck | `docker-compose kill` | Kills containers |
|
||||||
|
| dcv | `docker-compose version` | Show version information |
|
||||||
|
| dcsts | `docker-compose stats` | Show stats of containers |
|
||||||
|
| dci | `docker-compose images` | List images |
|
||||||
|
|||||||
@@ -24,5 +24,8 @@ alias dclF="$dccmd logs -f --tail 0"
|
|||||||
alias dcpull="$dccmd pull"
|
alias dcpull="$dccmd pull"
|
||||||
alias dcstart="$dccmd start"
|
alias dcstart="$dccmd start"
|
||||||
alias dck="$dccmd kill"
|
alias dck="$dccmd kill"
|
||||||
|
alias dcv="$dccmd version"
|
||||||
|
alias dcsts="$dccmd stats"
|
||||||
|
alias dci="$dccmd images"
|
||||||
|
|
||||||
unset dccmd
|
unset dccmd
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ zmodload -F zsh/files b:zf_mv
|
|||||||
! is-at-least 23.0.0 ${${(s:,:z)"$(command docker --version)"}[3]}; then
|
! is-at-least 23.0.0 ${${(s:,:z)"$(command docker --version)"}[3]}; then
|
||||||
command cp "${plugin_dir}/completions/_docker" "$ZSH_CACHE_DIR/completions/_docker"
|
command cp "${plugin_dir}/completions/_docker" "$ZSH_CACHE_DIR/completions/_docker"
|
||||||
else
|
else
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_docker"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._docker"
|
||||||
zf_mv -f -- =( command docker completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( command docker completion zsh ) "$ZSH_CACHE_DIR/completions/_docker"
|
||||||
fi
|
fi
|
||||||
} "${0:A:h}" &|
|
} "${0:A:h}" &|
|
||||||
|
|||||||
@@ -16,6 +16,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_doctl"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._doctl"
|
||||||
zf_mv -f -- =( doctl completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( doctl completion zsh ) "$ZSH_CACHE_DIR/completions/_doctl"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -32,8 +32,9 @@ emacsfun() {
|
|||||||
# Check if there are suitable frames
|
# Check if there are suitable frames
|
||||||
frames="$(emacsclient -a '' -n -e "$cmd" 2>/dev/null |sed 's/.*\x07//g' )"
|
frames="$(emacsclient -a '' -n -e "$cmd" 2>/dev/null |sed 's/.*\x07//g' )"
|
||||||
|
|
||||||
# Only create another X frame if there isn't one present
|
# A bare emacs/e passes only --no-wait, so it still needs --create-frame.
|
||||||
if [ -z "$frames" -o "$frames" = nil ]; then
|
if [ -z "$frames" ] || [ "$frames" = nil ] || [ "$#" -eq 0 ] \
|
||||||
|
|| { [ "$#" -eq 1 ] && [ "$1" = --no-wait ]; }; then
|
||||||
emacsclient --alternate-editor="" --create-frame "$@"
|
emacsclient --alternate-editor="" --create-frame "$@"
|
||||||
return $?
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -45,6 +45,36 @@ If `yes`, always add `-h` flag to add a header row for each column.
|
|||||||
|
|
||||||
Default: `no`
|
Default: `no`
|
||||||
|
|
||||||
|
### `links`
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
zstyle ':omz:plugins:eza' 'links' yes|no
|
||||||
|
```
|
||||||
|
|
||||||
|
If `yes`, always add `-H` flag to show hard links for each file.
|
||||||
|
|
||||||
|
Default: `no`
|
||||||
|
|
||||||
|
### `octal`
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
zstyle ':omz:plugins:eza' 'octal' yes|no
|
||||||
|
```
|
||||||
|
|
||||||
|
If `yes`, always add `-o` flag to show file permissions as octal numbers.
|
||||||
|
|
||||||
|
Default: `no`
|
||||||
|
|
||||||
|
### `inodes`
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
zstyle ':omz:plugins:eza' 'inodes' yes|no
|
||||||
|
```
|
||||||
|
|
||||||
|
If `yes`, always add `-i` flag to show the inode for each file.
|
||||||
|
|
||||||
|
Default: `no`
|
||||||
|
|
||||||
### `show-group`
|
### `show-group`
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
|
|||||||
@@ -21,6 +21,15 @@ function _configure_eza() {
|
|||||||
if zstyle -t ':omz:plugins:eza' 'header'; then
|
if zstyle -t ':omz:plugins:eza' 'header'; then
|
||||||
_EZA_HEAD+=("h")
|
_EZA_HEAD+=("h")
|
||||||
fi
|
fi
|
||||||
|
if zstyle -t ':omz:plugins:eza' 'links'; then
|
||||||
|
_EZA_HEAD+=("H")
|
||||||
|
fi
|
||||||
|
if zstyle -t ':omz:plugins:eza' 'octal'; then
|
||||||
|
_EZA_HEAD+=("o")
|
||||||
|
fi
|
||||||
|
if zstyle -t ':omz:plugins:eza' 'inodes'; then
|
||||||
|
_EZA_HEAD+=("i")
|
||||||
|
fi
|
||||||
zstyle -s ':omz:plugins:eza' 'size-prefix' _val
|
zstyle -s ':omz:plugins:eza' 'size-prefix' _val
|
||||||
case "${_val:l}" in
|
case "${_val:l}" in
|
||||||
binary)
|
binary)
|
||||||
|
|||||||
@@ -32,6 +32,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_flutter"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._flutter"
|
||||||
zf_mv -f -- =( flutter zsh-completion < /dev/null ) "$TMPPREFIX"
|
zf_mv -f -- =( flutter zsh-completion < /dev/null ) "$ZSH_CACHE_DIR/completions/_flutter"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_flux"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._flux"
|
||||||
zf_mv -f -- =( flux completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( flux completion zsh ) "$ZSH_CACHE_DIR/completions/_flux"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_fnm"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._fnm"
|
||||||
zf_mv -f -- =( fnm completions --shell=zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( fnm completions --shell=zsh ) "$ZSH_CACHE_DIR/completions/_fnm"
|
||||||
} &|
|
} &|
|
||||||
|
|
||||||
if zstyle -t ':omz:plugins:fnm' autostart; then
|
if zstyle -t ':omz:plugins:fnm' autostart; then
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ function frontend() {
|
|||||||
codepen 'https://codepen.io/search/pens?q='
|
codepen 'https://codepen.io/search/pens?q='
|
||||||
compassdoc 'http://compass-style.org/search?q='
|
compassdoc 'http://compass-style.org/search?q='
|
||||||
cssflow 'http://www.cssflow.com/search?q='
|
cssflow 'http://www.cssflow.com/search?q='
|
||||||
dartlang 'https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart:'
|
dartlang $(_frontend_fallback 'dart.dev')
|
||||||
emberjs $(_frontend_fallback 'emberjs.com/')
|
emberjs $(_frontend_fallback 'emberjs.com/')
|
||||||
flowtype $(_frontend_fallback 'flow.org/en/docs/')
|
flowtype $(_frontend_fallback 'flow.org/en/docs/')
|
||||||
fontello 'http://fontello.com/#search='
|
fontello 'http://fontello.com/#search='
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_gcx"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._gcx"
|
||||||
zf_mv -f -- =( gcx completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( gcx completion zsh ) "$ZSH_CACHE_DIR/completions/_gcx"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -17,7 +17,4 @@ plugin is loaded, which is usually when you start up a new terminal emulator.
|
|||||||
|
|
||||||
The cache is stored at:
|
The cache is stored at:
|
||||||
|
|
||||||
- `$ZSH/plugins/gh/_gh` completions script
|
- `$ZSH_CACHE_DIR/completions/_gh` completions script
|
||||||
|
|
||||||
- `$ZSH_CACHE_DIR/gh_version` version of GitHub CLI, used to invalidate
|
|
||||||
the cache.
|
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_gh"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._gh"
|
||||||
zf_mv -f -- =( gh completion --shell zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( gh completion --shell zsh ) "$ZSH_CACHE_DIR/completions/_gh"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ plugins=(... git)
|
|||||||
| `glo` | `git log --oneline --decorate` |
|
| `glo` | `git log --oneline --decorate` |
|
||||||
| `glog` | `git log --oneline --decorate --graph` |
|
| `glog` | `git log --oneline --decorate --graph` |
|
||||||
| `gloga` | `git log --oneline --decorate --graph --all` |
|
| `gloga` | `git log --oneline --decorate --graph --all` |
|
||||||
|
| `glom` | `git log --oneline --decorate --color $(git_main_branch)..` |
|
||||||
| `glp` | `git log --pretty=<format>` |
|
| `glp` | `git log --pretty=<format>` |
|
||||||
| `glg` | `git log --stat` |
|
| `glg` | `git log --stat` |
|
||||||
| `glgp` | `git log --stat --patch` |
|
| `glgp` | `git log --stat --patch` |
|
||||||
@@ -155,6 +156,8 @@ plugins=(... git)
|
|||||||
| `grba` | `git rebase --abort` |
|
| `grba` | `git rebase --abort` |
|
||||||
| `grbc` | `git rebase --continue` |
|
| `grbc` | `git rebase --continue` |
|
||||||
| `grbi` | `git rebase --interactive` |
|
| `grbi` | `git rebase --interactive` |
|
||||||
|
| `grbmi` | `git rebase $(git_main_branch) --interactive` |
|
||||||
|
| `grbmia` | `git rebase $(git_main_branch) --interactive --autosquash` |
|
||||||
| `grbo` | `git rebase --onto` |
|
| `grbo` | `git rebase --onto` |
|
||||||
| `grbs` | `git rebase --skip` |
|
| `grbs` | `git rebase --skip` |
|
||||||
| `grbd` | `git rebase $(git_develop_branch)` |
|
| `grbd` | `git rebase $(git_develop_branch)` |
|
||||||
@@ -202,8 +205,10 @@ plugins=(... git)
|
|||||||
| `gst` | `git status` |
|
| `gst` | `git status` |
|
||||||
| `gss` | `git status --short` |
|
| `gss` | `git status --short` |
|
||||||
| `gsb` | `git status --short -b` |
|
| `gsb` | `git status --short -b` |
|
||||||
|
| `gsnut` | `git status --untracked-files=no` |
|
||||||
| `gsi` | `git submodule init` |
|
| `gsi` | `git submodule init` |
|
||||||
| `gsu` | `git submodule update` |
|
| `gsu` | `git submodule update` |
|
||||||
|
| `gsuri` | `git submodule update --recursive --init` |
|
||||||
| `gsd` | `git svn dcommit` |
|
| `gsd` | `git svn dcommit` |
|
||||||
| `git-svn-dcommit-push` | `git svn dcommit && git push github $(git_main_branch):svntrunk` |
|
| `git-svn-dcommit-push` | `git svn dcommit && git push github $(git_main_branch):svntrunk` |
|
||||||
| `gsr` | `git svn rebase` |
|
| `gsr` | `git svn rebase` |
|
||||||
|
|||||||
@@ -253,6 +253,7 @@ alias glolm='git log $(git_main_branch) --graph --pretty="%Cred%h%Creset -%C(aut
|
|||||||
alias glo='git log --oneline --decorate'
|
alias glo='git log --oneline --decorate'
|
||||||
alias glog='git log --oneline --decorate --graph'
|
alias glog='git log --oneline --decorate --graph'
|
||||||
alias gloga='git log --oneline --decorate --graph --all'
|
alias gloga='git log --oneline --decorate --graph --all'
|
||||||
|
alias glom='git log --oneline --decorate --color $(git_main_branch)..'
|
||||||
|
|
||||||
# Pretty log messages
|
# Pretty log messages
|
||||||
function _git_log_prettily(){
|
function _git_log_prettily(){
|
||||||
@@ -362,6 +363,8 @@ alias grbd='git rebase $(git_develop_branch)'
|
|||||||
alias grbm='git rebase $(git_main_branch)'
|
alias grbm='git rebase $(git_main_branch)'
|
||||||
alias grbom='git rebase origin/$(git_main_branch)'
|
alias grbom='git rebase origin/$(git_main_branch)'
|
||||||
alias grbum='git rebase upstream/$(git_main_branch)'
|
alias grbum='git rebase upstream/$(git_main_branch)'
|
||||||
|
alias grbmi='git rebase $(git_main_branch) --interactive'
|
||||||
|
alias grbmia='git rebase $(git_main_branch) --interactive --autosquash'
|
||||||
alias grf='git reflog'
|
alias grf='git reflog'
|
||||||
alias gr='git remote'
|
alias gr='git remote'
|
||||||
alias grv='git remote --verbose'
|
alias grv='git remote --verbose'
|
||||||
@@ -404,8 +407,10 @@ alias gsts='git stash show --patch'
|
|||||||
alias gst='git status'
|
alias gst='git status'
|
||||||
alias gss='git status --short'
|
alias gss='git status --short'
|
||||||
alias gsb='git status --short --branch'
|
alias gsb='git status --short --branch'
|
||||||
|
alias gsnut='git status --untracked-files=no'
|
||||||
alias gsi='git submodule init'
|
alias gsi='git submodule init'
|
||||||
alias gsu='git submodule update'
|
alias gsu='git submodule update'
|
||||||
|
alias gsuri='git submodule update --recursive --init'
|
||||||
alias gsd='git svn dcommit'
|
alias gsd='git svn dcommit'
|
||||||
alias git-svn-dcommit-push='git svn dcommit && git push github $(git_main_branch):svntrunk'
|
alias git-svn-dcommit-push='git svn dcommit && git push github $(git_main_branch):svntrunk'
|
||||||
alias gsr='git svn rebase'
|
alias gsr='git svn rebase'
|
||||||
|
|||||||
+34
-36
@@ -1,45 +1,43 @@
|
|||||||
# github plugin
|
# github plugin
|
||||||
|
|
||||||
This plugin supports working with GitHub from the command line. It provides a few things:
|
> [!WARNING]
|
||||||
|
> This plugin is deprecated and will be removed in a future release. It supports
|
||||||
|
> the legacy [`hub`](https://github.com/mislav/hub) CLI, not the current GitHub
|
||||||
|
> CLI. For `gh` completion, use the [`gh` plugin](../gh) instead.
|
||||||
|
|
||||||
* Sets up the `hub` wrapper and completions for the `git` command if you have [`hub`](https://github.com/github/hub) installed.
|
The plugin provides compatibility for existing `hub` users by:
|
||||||
* Completion for the [`github` Ruby gem](https://github.com/defunkt/github-gem).
|
|
||||||
* Convenience functions for working with repos and URLs.
|
|
||||||
|
|
||||||
### Functions
|
- aliasing `git` to `hub` when `hub` is installed;
|
||||||
|
- adding completion for `hub`; and
|
||||||
|
- defining convenience functions for creating repositories.
|
||||||
|
|
||||||
* `empty_gh` - Creates a new empty repo (with a `README.md`) and pushes it to GitHub
|
## Migrating to GitHub CLI
|
||||||
* `new_gh` - Initializes an existing directory as a repo and pushes it to GitHub
|
|
||||||
* `exist_gh` - Takes an existing repo and pushes it to GitHub
|
|
||||||
|
|
||||||
|
Install [GitHub CLI](https://cli.github.com/), replace `github` with `gh` in
|
||||||
## Installation
|
your plugin list, and restart your shell:
|
||||||
|
|
||||||
[Hub](https://github.com/github/hub) needs to be installed if you want to use it. On OS X with Homebrew, this can be done with `brew install hub`. The `hub` completion definition needs to be added to your `$FPATH` before initializing OMZ.
|
|
||||||
|
|
||||||
The [`github` Ruby gem](https://github.com/defunkt/github-gem) needs to be installed if you want to use it.
|
|
||||||
|
|
||||||
### Configuration
|
|
||||||
|
|
||||||
These settings affect `github`'s behavior.
|
|
||||||
|
|
||||||
#### Environment variables
|
|
||||||
|
|
||||||
* `$GITHUB_USER`
|
|
||||||
* `$GITHUB_PASSWORD`
|
|
||||||
|
|
||||||
#### Git configuration options
|
|
||||||
|
|
||||||
* `github.user` - GitHub username for repo operations
|
|
||||||
|
|
||||||
See `man hub` for more details.
|
|
||||||
|
|
||||||
### Homebrew installation note
|
|
||||||
|
|
||||||
If you have installed `hub` using Homebrew, its completions may not be on your `$FPATH` if you are using the system `zsh`. Homebrew installs `zsh` completion definitions to `/usr/local/share/zsh/site-functions`, which will be on `$FPATH` for the Homebrew-installed `zsh`, but not for the system `zsh`. If you want it to work with the system `zsh`, add this to your `~/.zshrc` before it sources `oh-my-zsh.sh`.
|
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
if (( ! ${fpath[(I)/usr/local/share/zsh/site-functions]} )); then
|
plugins=(... gh)
|
||||||
FPATH=/usr/local/share/zsh/site-functions:$FPATH
|
|
||||||
fi
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The `gh` plugin supplies completion for the installed GitHub CLI. It does not
|
||||||
|
alias `git`, because `gh` is not a Git wrapper.
|
||||||
|
|
||||||
|
The closest replacement for creating a GitHub repository from an existing
|
||||||
|
local repository is:
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
gh repo create --source=. --push
|
||||||
|
```
|
||||||
|
|
||||||
|
## Deprecated functions
|
||||||
|
|
||||||
|
- `empty_gh` - creates a new repository with a `README.md` and pushes it to GitHub
|
||||||
|
- `new_gh` - initializes an existing directory and pushes it to GitHub
|
||||||
|
- `exist_gh` - pushes an existing Git repository to GitHub
|
||||||
|
|
||||||
|
These functions remain available during the deprecation period and require
|
||||||
|
`hub`. They will be removed with the plugin.
|
||||||
|
|
||||||
|
If you continue using `hub`, see its documentation for authentication and
|
||||||
|
configuration details.
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
print -Pru2 -- '%F{yellow}[oh-my-zsh] The %Bgithub%b plugin is deprecated and will be removed in a future release.'
|
||||||
|
print -Pru2 -- 'It supports the legacy %Bhub%b CLI. Use the %Bgh%b plugin for GitHub CLI completion.%f'
|
||||||
|
|
||||||
# Set up hub wrapper for git, if it is available; https://github.com/github/hub
|
# Set up hub wrapper for git, if it is available; https://github.com/github/hub
|
||||||
if (( $+commands[hub] )); then
|
if (( $+commands[hub] )); then
|
||||||
alias git=hub
|
alias git=hub
|
||||||
@@ -26,7 +29,7 @@ empty_gh() { # [NAME_OF_REPO]
|
|||||||
# This function will add all non-hidden files to git.
|
# This function will add all non-hidden files to git.
|
||||||
new_gh() { # [DIRECTORY]
|
new_gh() { # [DIRECTORY]
|
||||||
emulate -L zsh
|
emulate -L zsh
|
||||||
local repo="$1"
|
local repo="${1-.}"
|
||||||
cd "$repo" \
|
cd "$repo" \
|
||||||
|| return
|
|| return
|
||||||
|
|
||||||
@@ -42,7 +45,7 @@ new_gh() { # [DIRECTORY]
|
|||||||
|| return
|
|| return
|
||||||
hub create \
|
hub create \
|
||||||
|| return
|
|| return
|
||||||
git push -u origin master \
|
git push -u origin HEAD \
|
||||||
|| return
|
|| return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,18 +55,19 @@ new_gh() { # [DIRECTORY]
|
|||||||
# to your GitHub.
|
# to your GitHub.
|
||||||
exist_gh() { # [DIRECTORY]
|
exist_gh() { # [DIRECTORY]
|
||||||
emulate -L zsh
|
emulate -L zsh
|
||||||
local repo=$1
|
local repo="${1:-.}"
|
||||||
cd "$repo"
|
cd "$repo" \
|
||||||
|
|| return
|
||||||
|
|
||||||
hub create \
|
hub create \
|
||||||
|| return
|
|| return
|
||||||
git push -u origin master
|
git push -u origin HEAD
|
||||||
}
|
}
|
||||||
|
|
||||||
# git.io "GitHub URL"
|
# git.io "GitHub URL"
|
||||||
#
|
#
|
||||||
# Shorten GitHub url, example:
|
# Shorten GitHub url, example:
|
||||||
# https://github.com/nvogel/dotzsh > https://git.io/8nU25w
|
# https://github.com/nvogel/dotzsh > https://git.io/8nU25w
|
||||||
# source: https://github.com/nvogel/dotzsh
|
# source: https://github.com/nvogel/dotzsh
|
||||||
# documentation: https://github.com/blog/985-git-io-github-url-shortener
|
# documentation: https://github.com/blog/985-git-io-github-url-shortener
|
||||||
#
|
#
|
||||||
@@ -74,4 +78,3 @@ git.io() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# End Functions #############################################################
|
# End Functions #############################################################
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# GitLab CLI plugin
|
||||||
|
|
||||||
|
This plugin adds completion for the [GitLab CLI](https://docs.gitlab.com/cli/).
|
||||||
|
|
||||||
|
To use it, add `glab` to the plugins array in your zshrc file:
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
plugins=(... glab)
|
||||||
|
```
|
||||||
|
|
||||||
|
This plugin does not add any aliases.
|
||||||
|
|
||||||
|
## Cache
|
||||||
|
|
||||||
|
This plugin caches the completion script at `$ZSH_CACHE_DIR/completions/_glab`.
|
||||||
|
|
||||||
|
The cache is regenerated in the background whenever the plugin is loaded, which
|
||||||
|
usually happens when you start a new Zsh session.
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# Autocompletion for the GitLab CLI (glab).
|
||||||
|
if (( ! $+commands[glab] )); then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If the completion file doesn't exist yet, we need to autoload it and
|
||||||
|
# bind it to `glab`. Otherwise, compinit will have already done that.
|
||||||
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_glab" ]]; then
|
||||||
|
typeset -g -A _comps
|
||||||
|
autoload -Uz _glab
|
||||||
|
_comps[glab]=_glab
|
||||||
|
fi
|
||||||
|
|
||||||
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._glab"
|
||||||
|
zf_mv -f -- =( glab completion -s zsh ) "$ZSH_CACHE_DIR/completions/_glab"
|
||||||
|
} &|
|
||||||
@@ -267,6 +267,7 @@ __gradle_subcommand() {
|
|||||||
'-Dorg.gradle.configuration-cache.problems=[Configures how the configuration cache handles problems (fail or warn). Supported values are 'warn', or 'fail' (default).]:org.gradle.configuration cache.problems:(fail warn)' \
|
'-Dorg.gradle.configuration-cache.problems=[Configures how the configuration cache handles problems (fail or warn). Supported values are 'warn', or 'fail' (default).]:org.gradle.configuration cache.problems:(fail warn)' \
|
||||||
'-Dorg.gradle.configuration-cache.read-only=[]' \
|
'-Dorg.gradle.configuration-cache.read-only=[]' \
|
||||||
'-Dorg.gradle.configuration-cache.unsafe.ignore.unsupported-build-events-listeners=[]' \
|
'-Dorg.gradle.configuration-cache.unsafe.ignore.unsupported-build-events-listeners=[]' \
|
||||||
|
'-Dorg.gradle.configuration-cache.unsafe.skip-task-logging-listeners-serialization=[]' \
|
||||||
'-Dorg.gradle.configuration-cache=[Enables the configuration cache. Gradle will try to reuse the build configuration from previous builds.]' \
|
'-Dorg.gradle.configuration-cache=[Enables the configuration cache. Gradle will try to reuse the build configuration from previous builds.]' \
|
||||||
'-Dorg.gradle.configureondemand=[Configures necessary projects only. Gradle will attempt to reduce configuration time for large multi-project builds.]' \
|
'-Dorg.gradle.configureondemand=[Configures necessary projects only. Gradle will attempt to reduce configuration time for large multi-project builds.]' \
|
||||||
'-Dorg.gradle.console.interactive=[]' \
|
'-Dorg.gradle.console.interactive=[]' \
|
||||||
@@ -296,6 +297,7 @@ __gradle_subcommand() {
|
|||||||
'-Dorg.gradle.jvmargs=[]' \
|
'-Dorg.gradle.jvmargs=[]' \
|
||||||
'-Dorg.gradle.logging.level=[]:org.gradle.logging.level:(quiet warn info debug)' \
|
'-Dorg.gradle.logging.level=[]:org.gradle.logging.level:(quiet warn info debug)' \
|
||||||
'-Dorg.gradle.logging.stacktrace=[]' \
|
'-Dorg.gradle.logging.stacktrace=[]' \
|
||||||
|
'-Dorg.gradle.mirror.maven.settings=[]' \
|
||||||
'-Dorg.gradle.native=[]' \
|
'-Dorg.gradle.native=[]' \
|
||||||
'-Dorg.gradle.parallel=[Builds projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use.]:org.gradle.parallel:(true false)' \
|
'-Dorg.gradle.parallel=[Builds projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use.]:org.gradle.parallel:(true false)' \
|
||||||
'-Dorg.gradle.priority=[Specifies the scheduling priority for the Gradle daemon and all processes launched by it. Supported values are 'normal' (default) or 'low'.]:org.gradle.priority:(normal low)' \
|
'-Dorg.gradle.priority=[Specifies the scheduling priority for the Gradle daemon and all processes launched by it. Supported values are 'normal' (default) or 'low'.]:org.gradle.priority:(normal low)' \
|
||||||
@@ -407,6 +409,7 @@ _gradle() {
|
|||||||
'-Dorg.gradle.configuration-cache.problems=[Configures how the configuration cache handles problems (fail or warn). Supported values are 'warn', or 'fail' (default).]:org.gradle.configuration cache.problems:(fail warn):->argument-expected' \
|
'-Dorg.gradle.configuration-cache.problems=[Configures how the configuration cache handles problems (fail or warn). Supported values are 'warn', or 'fail' (default).]:org.gradle.configuration cache.problems:(fail warn):->argument-expected' \
|
||||||
'-Dorg.gradle.configuration-cache.read-only=[]:->argument-expected' \
|
'-Dorg.gradle.configuration-cache.read-only=[]:->argument-expected' \
|
||||||
'-Dorg.gradle.configuration-cache.unsafe.ignore.unsupported-build-events-listeners=[]:->argument-expected' \
|
'-Dorg.gradle.configuration-cache.unsafe.ignore.unsupported-build-events-listeners=[]:->argument-expected' \
|
||||||
|
'-Dorg.gradle.configuration-cache.unsafe.skip-task-logging-listeners-serialization=[]:->argument-expected' \
|
||||||
'-Dorg.gradle.configuration-cache=[Enables the configuration cache. Gradle will try to reuse the build configuration from previous builds.]:->argument-expected' \
|
'-Dorg.gradle.configuration-cache=[Enables the configuration cache. Gradle will try to reuse the build configuration from previous builds.]:->argument-expected' \
|
||||||
'-Dorg.gradle.configureondemand=[Configures necessary projects only. Gradle will attempt to reduce configuration time for large multi-project builds.]:->argument-expected' \
|
'-Dorg.gradle.configureondemand=[Configures necessary projects only. Gradle will attempt to reduce configuration time for large multi-project builds.]:->argument-expected' \
|
||||||
'-Dorg.gradle.console.interactive=[]:->argument-expected' \
|
'-Dorg.gradle.console.interactive=[]:->argument-expected' \
|
||||||
@@ -436,6 +439,7 @@ _gradle() {
|
|||||||
'-Dorg.gradle.jvmargs=[]:->argument-expected' \
|
'-Dorg.gradle.jvmargs=[]:->argument-expected' \
|
||||||
'-Dorg.gradle.logging.level=[]:org.gradle.logging.level:(quiet warn info debug):->argument-expected' \
|
'-Dorg.gradle.logging.level=[]:org.gradle.logging.level:(quiet warn info debug):->argument-expected' \
|
||||||
'-Dorg.gradle.logging.stacktrace=[]:->argument-expected' \
|
'-Dorg.gradle.logging.stacktrace=[]:->argument-expected' \
|
||||||
|
'-Dorg.gradle.mirror.maven.settings=[]:->argument-expected' \
|
||||||
'-Dorg.gradle.native=[]:->argument-expected' \
|
'-Dorg.gradle.native=[]:->argument-expected' \
|
||||||
'-Dorg.gradle.parallel=[Builds projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use.]:org.gradle.parallel:(true false):->argument-expected' \
|
'-Dorg.gradle.parallel=[Builds projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use.]:org.gradle.parallel:(true false):->argument-expected' \
|
||||||
'-Dorg.gradle.priority=[Specifies the scheduling priority for the Gradle daemon and all processes launched by it. Supported values are 'normal' (default) or 'low'.]:org.gradle.priority:(normal low):->argument-expected' \
|
'-Dorg.gradle.priority=[Specifies the scheduling priority for the Gradle daemon and all processes launched by it. Supported values are 'normal' (default) or 'low'.]:org.gradle.priority:(normal low):->argument-expected' \
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ function gradle-or-gradlew() {
|
|||||||
|
|
||||||
# if gradlew found, run it instead of gradle
|
# if gradlew found, run it instead of gradle
|
||||||
if [[ -f "$project_root/gradlew" ]]; then
|
if [[ -f "$project_root/gradlew" ]]; then
|
||||||
echo "executing gradlew instead of gradle"
|
|
||||||
"$project_root/gradlew" "$@"
|
"$project_root/gradlew" "$@"
|
||||||
else
|
else
|
||||||
command gradle "$@"
|
command gradle "$@"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ else
|
|||||||
source "$ZSH_CACHE_DIR/completions/_hasura"
|
source "$ZSH_CACHE_DIR/completions/_hasura"
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_hasura"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._hasura"
|
||||||
zf_mv -f -- =( hasura completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( hasura completion zsh ) "$ZSH_CACHE_DIR/completions/_hasura"
|
||||||
} &|
|
} &|
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_hcloud"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._hcloud"
|
||||||
zf_mv -f -- =( hcloud completion zsh 2> /dev/null ) "$TMPPREFIX"
|
zf_mv -f -- =( hcloud completion zsh 2> /dev/null ) "$ZSH_CACHE_DIR/completions/_hcloud"
|
||||||
} &|
|
} &|
|
||||||
|
|
||||||
# Main alias
|
# Main alias
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ else
|
|||||||
source "$ZSH_CACHE_DIR/completions/_helm"
|
source "$ZSH_CACHE_DIR/completions/_helm"
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_helm"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._helm"
|
||||||
zf_mv -f -- =( helm completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( helm completion zsh ) "$ZSH_CACHE_DIR/completions/_helm"
|
||||||
} &|
|
} &|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_herdr"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._herdr"
|
||||||
zf_mv -f -- =( herdr completion zsh < /dev/null 2> /dev/null ) "$TMPPREFIX"
|
zf_mv -f -- =( herdr completion zsh < /dev/null 2> /dev/null ) "$ZSH_CACHE_DIR/completions/_herdr"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
# hermes plugin
|
||||||
|
|
||||||
|
This plugin adds completions for the Hermes AI agent.
|
||||||
|
|
||||||
|
To use it, add `hermes` to the plugin array in your zshrc file:
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
plugins=(... hermes)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
hermes <TAB>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Common Workflows
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
# First time setup/updating overall config
|
||||||
|
hermes setup
|
||||||
|
|
||||||
|
# Starting the tui chat
|
||||||
|
hermes
|
||||||
|
|
||||||
|
# Changing default model
|
||||||
|
hermes model
|
||||||
|
```
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
if (( ! $+commands[hermes] )); then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_hermes" ]]; then
|
||||||
|
typeset -g -A _comps
|
||||||
|
autoload -Uz _hermes
|
||||||
|
_comps[hermes]=_hermes
|
||||||
|
fi
|
||||||
|
|
||||||
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._hermes"
|
||||||
|
zf_mv -f -- =( hermes completion zsh < /dev/null 2> /dev/null ) "$ZSH_CACHE_DIR/completions/_hermes"
|
||||||
|
} &|
|
||||||
@@ -20,7 +20,7 @@ Requirements
|
|||||||
Install
|
Install
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
Using the [Homebrew](https://brew.sh) package manager:
|
Using the [Homebrew]( https://brew.sh ) package manager:
|
||||||
|
|
||||||
brew install zsh-history-substring-search
|
brew install zsh-history-substring-search
|
||||||
echo 'source $(brew --prefix)/share/zsh-history-substring-search/zsh-history-substring-search.zsh' >> ~/.zshrc
|
echo 'source $(brew --prefix)/share/zsh-history-substring-search/zsh-history-substring-search.zsh' >> ~/.zshrc
|
||||||
@@ -51,7 +51,7 @@ Using [zplug](https://github.com/zplug/zplug):
|
|||||||
|
|
||||||
1. Add this repo to `~/.zshrc`:
|
1. Add this repo to `~/.zshrc`:
|
||||||
|
|
||||||
zplug "zsh-users/zsh-history-substring-search", as: plugin
|
zplug "zsh-users/zsh-history-substring-search", as:plugin
|
||||||
|
|
||||||
Using [antigen](https://github.com/zsh-users/antigen):
|
Using [antigen](https://github.com/zsh-users/antigen):
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ Using [Zinit](https://github.com/zdharma-continuum/zinit):
|
|||||||
|
|
||||||
1. Use the `Oh-my-zsh` Zinit snippet in `~/.zshrc`:
|
1. Use the `Oh-my-zsh` Zinit snippet in `~/.zshrc`:
|
||||||
|
|
||||||
zinit snippet OMZ::plugins/git/git.plugin.zsh`
|
zinit snippet OMZ::plugins/git/git.plugin.zsh
|
||||||
|
|
||||||
2. Load the plugin in `~/.zshrc`:
|
2. Load the plugin in `~/.zshrc`:
|
||||||
|
|
||||||
|
|||||||
@@ -295,8 +295,8 @@ _history-substring-search-begin() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# Escape and join query parts with wildcard character '*' as separator
|
# Escape and join query parts with wildcard character '*' as seperator
|
||||||
# `(j:CHAR:)` join array to string with CHAR as separator
|
# `(j:CHAR:)` join array to string with CHAR as seperator
|
||||||
#
|
#
|
||||||
local search_pattern="${(j:*:)_history_substring_search_query_parts[@]//(#m)[\][()|\\*?#<>~^]/\\$MATCH}*"
|
local search_pattern="${(j:*:)_history_substring_search_query_parts[@]//(#m)[\][()|\\*?#<>~^]/\\$MATCH}*"
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_jj"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._jj"
|
||||||
zf_mv -f -- =( COMPLETE=zsh jj ) "$TMPPREFIX"
|
zf_mv -f -- =( COMPLETE=zsh jj ) "$ZSH_CACHE_DIR/completions/_jj"
|
||||||
} &|
|
} &|
|
||||||
|
|
||||||
function __jj_prompt_jj() {
|
function __jj_prompt_jj() {
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
# the actual completion file will be loaded.
|
# the actual completion file will be loaded.
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_k9s"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._k9s"
|
||||||
zf_mv -f -- =( k9s completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( k9s completion zsh ) "$ZSH_CACHE_DIR/completions/_k9s"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ fi
|
|||||||
# Generate and load kind completion
|
# Generate and load kind completion
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_kind"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._kind"
|
||||||
zf_mv -f -- =( kind completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( kind completion zsh ) "$ZSH_CACHE_DIR/completions/_kind"
|
||||||
} &|
|
} &|
|
||||||
|
|
||||||
# Register aliases
|
# Register aliases
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ KUBE_PS1_HIDE_IF_NOCONTEXT="${KUBE_PS1_HIDE_IF_NOCONTEXT:-false}"
|
|||||||
_KUBE_PS1_KUBECONFIG_CACHE="${KUBECONFIG}"
|
_KUBE_PS1_KUBECONFIG_CACHE="${KUBECONFIG}"
|
||||||
_KUBE_PS1_DISABLE_PATH="${HOME}/.kube/kube-ps1/disabled"
|
_KUBE_PS1_DISABLE_PATH="${HOME}/.kube/kube-ps1/disabled"
|
||||||
_KUBE_PS1_LAST_TIME=0
|
_KUBE_PS1_LAST_TIME=0
|
||||||
|
_KUBE_PS1_HAS_CONTEXT=false
|
||||||
|
|
||||||
# Determine our shell
|
# Determine our shell
|
||||||
_kube_ps1_shell_type() {
|
_kube_ps1_shell_type() {
|
||||||
@@ -264,15 +265,21 @@ _kube_ps1_prompt_update() {
|
|||||||
[[ "${KUBE_PS1_ENABLED}" == "off" ]] && return $return_code
|
[[ "${KUBE_PS1_ENABLED}" == "off" ]] && return $return_code
|
||||||
|
|
||||||
if ! _kube_ps1_binary_check "${KUBE_PS1_BINARY}"; then
|
if ! _kube_ps1_binary_check "${KUBE_PS1_BINARY}"; then
|
||||||
# No ability to fetch context/namespace; display N/A.
|
# Unable to determine context availability; preserve the existing
|
||||||
|
# BINARY-N/A prompt instead of treating it as no context.
|
||||||
KUBE_PS1_CONTEXT="BINARY-N/A"
|
KUBE_PS1_CONTEXT="BINARY-N/A"
|
||||||
KUBE_PS1_NAMESPACE="N/A"
|
KUBE_PS1_NAMESPACE="N/A"
|
||||||
|
unset _KUBE_PS1_HAS_CONTEXT
|
||||||
|
# Refresh when the binary becomes available again.
|
||||||
|
_KUBE_PS1_LAST_TIME=0
|
||||||
return $return_code
|
return $return_code
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${KUBECONFIG}" != "${_KUBE_PS1_KUBECONFIG_CACHE}" ]]; then
|
if [[ "${_KUBE_PS1_LAST_TIME}" == 0 ]] ||
|
||||||
# User changed KUBECONFIG; unconditionally refetch.
|
[[ "${KUBECONFIG}" != "${_KUBE_PS1_KUBECONFIG_CACHE}" ]]; then
|
||||||
_KUBE_PS1_KUBECONFIG_CACHE=${KUBECONFIG}
|
# Fetch initially, even if no config file exists, and whenever the
|
||||||
|
# user changes KUBECONFIG.
|
||||||
|
_KUBE_PS1_KUBECONFIG_CACHE="${KUBECONFIG}"
|
||||||
_kube_ps1_get_context_ns
|
_kube_ps1_get_context_ns
|
||||||
return $return_code
|
return $return_code
|
||||||
fi
|
fi
|
||||||
@@ -300,13 +307,30 @@ _kube_ps1_prompt_update() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_kube_ps1_get_context() {
|
_kube_ps1_get_context() {
|
||||||
if [[ "${KUBE_PS1_CONTEXT_ENABLE}" == true ]]; then
|
local context
|
||||||
KUBE_PS1_CONTEXT="$(${KUBE_PS1_BINARY} config current-context 2>/dev/null)"
|
|
||||||
KUBE_PS1_CONTEXT="${KUBE_PS1_CONTEXT:-N/A}"
|
|
||||||
|
|
||||||
if [[ -n "${KUBE_PS1_CLUSTER_FUNCTION}" ]]; then
|
# Context availability must be detected even when context display is
|
||||||
KUBE_PS1_CONTEXT="$("${KUBE_PS1_CLUSTER_FUNCTION}" "${KUBE_PS1_CONTEXT}")"
|
# disabled but KUBE_PS1_HIDE_IF_NOCONTEXT is enabled.
|
||||||
fi
|
if [[ "${KUBE_PS1_CONTEXT_ENABLE}" != true ]] &&
|
||||||
|
[[ "${KUBE_PS1_HIDE_IF_NOCONTEXT}" != true ]]; then
|
||||||
|
KUBE_PS1_CONTEXT=
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
context="$("${KUBE_PS1_BINARY}" config current-context 2>/dev/null)"
|
||||||
|
|
||||||
|
_KUBE_PS1_HAS_CONTEXT=false
|
||||||
|
[[ -n "${context}" ]] && _KUBE_PS1_HAS_CONTEXT=true
|
||||||
|
|
||||||
|
if [[ "${KUBE_PS1_CONTEXT_ENABLE}" != true ]]; then
|
||||||
|
KUBE_PS1_CONTEXT=
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
KUBE_PS1_CONTEXT="${context:-N/A}"
|
||||||
|
|
||||||
|
if [[ -n "${KUBE_PS1_CLUSTER_FUNCTION}" ]]; then
|
||||||
|
KUBE_PS1_CONTEXT="$("${KUBE_PS1_CLUSTER_FUNCTION}" "${KUBE_PS1_CONTEXT}")"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -325,7 +349,7 @@ _kube_ps1_get_context_ns() {
|
|||||||
# Set the command time
|
# Set the command time
|
||||||
if [[ "${_KUBE_PS1_SHELL}" == "bash" ]]; then
|
if [[ "${_KUBE_PS1_SHELL}" == "bash" ]]; then
|
||||||
if ((BASH_VERSINFO[0] > 4 || (BASH_VERSINFO[0] == 4 && BASH_VERSINFO[1] >= 2))); then
|
if ((BASH_VERSINFO[0] > 4 || (BASH_VERSINFO[0] == 4 && BASH_VERSINFO[1] >= 2))); then
|
||||||
_KUBE_PS1_LAST_TIME=$(printf '%(%s)T')
|
printf -v _KUBE_PS1_LAST_TIME '%(%s)T' -1
|
||||||
else
|
else
|
||||||
_KUBE_PS1_LAST_TIME=$(date +%s)
|
_KUBE_PS1_LAST_TIME=$(date +%s)
|
||||||
fi
|
fi
|
||||||
@@ -407,8 +431,11 @@ kubeoff() {
|
|||||||
# Build our prompt
|
# Build our prompt
|
||||||
kube_ps1() {
|
kube_ps1() {
|
||||||
[[ "${KUBE_PS1_ENABLED}" == "off" ]] && return
|
[[ "${KUBE_PS1_ENABLED}" == "off" ]] && return
|
||||||
|
|
||||||
|
[[ "${KUBE_PS1_HIDE_IF_NOCONTEXT}" == true ]] &&
|
||||||
|
[[ "${_KUBE_PS1_HAS_CONTEXT}" == false ]] && return
|
||||||
|
|
||||||
[[ -z "${KUBE_PS1_CONTEXT}" ]] && [[ "${KUBE_PS1_CONTEXT_ENABLE}" == true ]] && return
|
[[ -z "${KUBE_PS1_CONTEXT}" ]] && [[ "${KUBE_PS1_CONTEXT_ENABLE}" == true ]] && return
|
||||||
[[ "${KUBE_PS1_CONTEXT}" == "N/A" ]] && [[ ${KUBE_PS1_HIDE_IF_NOCONTEXT} == true ]] && return
|
|
||||||
|
|
||||||
local KUBE_PS1
|
local KUBE_PS1
|
||||||
local KUBE_PS1_RESET_COLOR="${_KUBE_PS1_OPEN_ESC}${_KUBE_PS1_DEFAULT_FG}${_KUBE_PS1_CLOSE_ESC}"
|
local KUBE_PS1_RESET_COLOR="${_KUBE_PS1_OPEN_ESC}${_KUBE_PS1_DEFAULT_FG}${_KUBE_PS1_CLOSE_ESC}"
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_kubectl"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._kubectl"
|
||||||
zf_mv -f -- =( kubectl completion zsh 2> /dev/null ) "$TMPPREFIX"
|
zf_mv -f -- =( kubectl completion zsh 2> /dev/null ) "$ZSH_CACHE_DIR/completions/_kubectl"
|
||||||
} &|
|
} &|
|
||||||
|
|
||||||
# This command is used a LOT both below and in daily life
|
# This command is used a LOT both below and in daily life
|
||||||
|
|||||||
@@ -12,6 +12,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_minikube"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._minikube"
|
||||||
zf_mv -f -- =( minikube completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( minikube completion zsh ) "$ZSH_CACHE_DIR/completions/_minikube"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -21,6 +21,6 @@ fi
|
|||||||
# Generate and load mise completion
|
# Generate and load mise completion
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_mise"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._mise"
|
||||||
zf_mv -f -- =( mise completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( mise completion zsh ) "$ZSH_CACHE_DIR/completions/_mise"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_molecule"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._molecule"
|
||||||
zf_mv -f -- =( _MOLECULE_COMPLETE=zsh_source molecule ) "$TMPPREFIX"
|
zf_mv -f -- =( _MOLECULE_COMPLETE=zsh_source molecule ) "$ZSH_CACHE_DIR/completions/_molecule"
|
||||||
} &|
|
} &|
|
||||||
|
|
||||||
# Alias
|
# Alias
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_atlas"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._atlas"
|
||||||
zf_mv -f -- =( atlas completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( atlas completion zsh ) "$ZSH_CACHE_DIR/completions/_atlas"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ if (( $+commands[nsc] )); then
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_nsc"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._nsc"
|
||||||
zf_mv -f -- =( nsc completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( nsc completion zsh ) "$ZSH_CACHE_DIR/completions/_nsc"
|
||||||
} &|
|
} &|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ if (( $+commands[nats] )); then
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_nats"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._nats"
|
||||||
zf_mv -f -- =( nats --completion-script-zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( nats --completion-script-zsh ) "$ZSH_CACHE_DIR/completions/_nats"
|
||||||
} &|
|
} &|
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_ngrok"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._ngrok"
|
||||||
zf_mv -f -- =( ngrok completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( ngrok completion zsh ) "$ZSH_CACHE_DIR/completions/_ngrok"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -19,4 +19,6 @@ Provided aliases:
|
|||||||
- `ot`: generates a MFA code based on the given key and copies it to the clipboard
|
- `ot`: generates a MFA code based on the given key and copies it to the clipboard
|
||||||
(on Linux it relies on xsel, on MacOS X it uses pbcopy instead).
|
(on Linux it relies on xsel, on MacOS X it uses pbcopy instead).
|
||||||
|
|
||||||
The plugin uses `$HOME/.otp` to store its internal files.
|
The plugin stores its internal files in `$OTP_HOME`, which can be set in your zshrc.
|
||||||
|
If `$OTP_HOME` is not set it defaults to either `$HOME/.otp` or `$XDG_DATA_HOME/otp`,
|
||||||
|
depending on whether `~/.otp` already exists, or whether `$XDG_DATA_HOME` is set.
|
||||||
|
|||||||
@@ -1,4 +1,10 @@
|
|||||||
export OTP_HOME=~/.otp
|
if [[ -z "$OTP_HOME" ]]; then
|
||||||
|
if [[ ! -d "$HOME/.otp" ]] && [[ -n "$XDG_DATA_HOME" ]]; then
|
||||||
|
export OTP_HOME="$XDG_DATA_HOME/otp"
|
||||||
|
else
|
||||||
|
export OTP_HOME=~/.otp
|
||||||
|
fi
|
||||||
|
fi
|
||||||
mkdir -p $OTP_HOME
|
mkdir -p $OTP_HOME
|
||||||
|
|
||||||
function ot () {
|
function ot () {
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_pass-cli"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._pass-cli"
|
||||||
zf_mv -f -- =( pass-cli completions zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( pass-cli completions zsh ) "$ZSH_CACHE_DIR/completions/_pass-cli"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ else
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_pipenv"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._pipenv"
|
||||||
zf_mv -f -- =( _PIPENV_COMPLETE=zsh_source pipenv ) "$TMPPREFIX"
|
zf_mv -f -- =( _PIPENV_COMPLETE=zsh_source pipenv ) "$ZSH_CACHE_DIR/completions/_pipenv"
|
||||||
} &|
|
} &|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_podman"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._podman"
|
||||||
zf_mv -f -- =( podman completion zsh 2> /dev/null ) "$TMPPREFIX"
|
zf_mv -f -- =( podman completion zsh 2> /dev/null ) "$ZSH_CACHE_DIR/completions/_podman"
|
||||||
} &|
|
} &|
|
||||||
|
|
||||||
alias pbl='podman build'
|
alias pbl='podman build'
|
||||||
|
|||||||
@@ -41,6 +41,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_poetry"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._poetry"
|
||||||
zf_mv -f -- =( poetry completions zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( poetry completions zsh ) "$ZSH_CACHE_DIR/completions/_poetry"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_procs"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._procs"
|
||||||
autoload -Uz is-at-least
|
autoload -Uz is-at-least
|
||||||
local _version=$(procs --version)
|
local _version=$(procs --version)
|
||||||
zf_mv -f -- =(
|
zf_mv -f -- =(
|
||||||
@@ -21,5 +21,5 @@ zmodload -F zsh/files b:zf_mv
|
|||||||
else
|
else
|
||||||
procs --completion-out zsh
|
procs --completion-out zsh
|
||||||
fi
|
fi
|
||||||
) "$TMPPREFIX"
|
) "$ZSH_CACHE_DIR/completions/_procs"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_pulumi"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._pulumi"
|
||||||
zf_mv -f -- =( pulumi gen-completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( pulumi gen-completion zsh ) "$ZSH_CACHE_DIR/completions/_pulumi"
|
||||||
} &|
|
} &|
|
||||||
|
|
||||||
# Aliases
|
# Aliases
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_qodana"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._qodana"
|
||||||
zf_mv -f -- =( qodana completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( qodana completion zsh ) "$ZSH_CACHE_DIR/completions/_qodana"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_rbw"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._rbw"
|
||||||
zf_mv -f -- =( rbw gen-completions zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( rbw gen-completions zsh ) "$ZSH_CACHE_DIR/completions/_rbw"
|
||||||
} &|
|
} &|
|
||||||
|
|
||||||
# rbwpw function copies the password of a service to the clipboard
|
# rbwpw function copies the password of a service to the clipboard
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_rclone"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._rclone"
|
||||||
zf_mv -f -- =( rclone completion zsh - ) "$TMPPREFIX"
|
zf_mv -f -- =( rclone completion zsh - ) "$ZSH_CACHE_DIR/completions/_rclone"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -22,6 +22,6 @@ fi
|
|||||||
# Overwrites the file each time as completions might change with ruff versions.
|
# Overwrites the file each time as completions might change with ruff versions.
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_ruff"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._ruff"
|
||||||
zf_mv -f -- =( ruff generate-shell-completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( ruff generate-shell-completion zsh ) "$ZSH_CACHE_DIR/completions/_ruff"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ fi
|
|||||||
# Generate completion files in the background
|
# Generate completion files in the background
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_rustup"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._rustup"
|
||||||
zf_mv -f -- =( rustup completions zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( rustup completions zsh ) "$ZSH_CACHE_DIR/completions/_rustup"
|
||||||
} &|
|
} &|
|
||||||
cat >| "$ZSH_CACHE_DIR/completions/_cargo" <<'EOF'
|
cat >| "$ZSH_CACHE_DIR/completions/_cargo" <<'EOF'
|
||||||
#compdef cargo
|
#compdef cargo
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ function install_autocompletion {
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_$1"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._$1"
|
||||||
zf_mv -f -- =( $1 completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( $1 completion zsh ) "$ZSH_CACHE_DIR/completions/_$1"
|
||||||
} "$1" &|
|
} "$1" &|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_skaffold"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._skaffold"
|
||||||
zf_mv -f -- =( skaffold completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( skaffold completion zsh ) "$ZSH_CACHE_DIR/completions/_skaffold"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
## Sops Plugin
|
||||||
|
|
||||||
|
This plugin sets up completion for [sops](https://getsops.io).
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# COMPLETION FUNCTION
|
||||||
|
if (( ! $+commands[sops] )); then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If the completion file doesn't exist yet, we need to autoload it and
|
||||||
|
# bind it to `sops`. Otherwise, compinit will have already done that.
|
||||||
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_sops" ]]; then
|
||||||
|
typeset -g -A _comps
|
||||||
|
autoload -Uz _sops
|
||||||
|
_comps[sops]=_sops
|
||||||
|
fi
|
||||||
|
|
||||||
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._sops"
|
||||||
|
zf_mv -f -- =( sops completions zsh ) "$ZSH_CACHE_DIR/completions/_sops"
|
||||||
|
} &|
|
||||||
@@ -12,6 +12,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_stripe"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._stripe"
|
||||||
zf_mv -f -- =( stripe completion --shell zsh --write-to-stdout ) "$TMPPREFIX"
|
zf_mv -f -- =( stripe completion --shell zsh --write-to-stdout ) "$ZSH_CACHE_DIR/completions/_stripe"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ plugins=(... systemadmin)
|
|||||||
| killit | Kills any process that matches a regular expression passed to it |
|
| killit | Kills any process that matches a regular expression passed to it |
|
||||||
| tree | List contents of directories in a tree-like format (if tree isn't installed) |
|
| tree | List contents of directories in a tree-like format (if tree isn't installed) |
|
||||||
| sortcons | Sort connections by state |
|
| sortcons | Sort connections by state |
|
||||||
| con80 | View all 80 Port Connections |
|
| con80 | View all connections on ports 80 and 443, or on the ports given as arguments (`con80 8080`) |
|
||||||
| sortconip | On the connected IP sorted by the number of connections |
|
| sortconip | On the connected IP sorted by the number of connections |
|
||||||
| req20 | List the top 20 requests on port 80 |
|
| req20 | List the top 20 requests on ports 80 and 443, or on the ports given as arguments (`req20 8080`) |
|
||||||
| http20 | List the top 20 connections to port 80 based on tcpdump data |
|
| http20 | List the top 20 connections to ports 80 and 443 based on tcpdump data, or to the ports given as arguments |
|
||||||
| timewait20 | List the top 20 time_wait connections |
|
| timewait20 | List the top 20 time_wait connections |
|
||||||
| syn20 | List the top 20 SYN connections |
|
| syn20 | List the top 20 SYN connections |
|
||||||
| port_pro | Output all processes according to the port number |
|
| port_pro | Output all processes according to the port number |
|
||||||
|
|||||||
@@ -65,60 +65,90 @@ fi
|
|||||||
|
|
||||||
# Sort connection state
|
# Sort connection state
|
||||||
function sortcons() {
|
function sortcons() {
|
||||||
{
|
if (( $+commands[ss] )); then
|
||||||
LANG= ss -nat | awk 'NR > 1 {print $1}' \
|
LANG= ss -nat | awk 'NR > 1 {print $1}'
|
||||||
|| LANG= netstat -nat | awk 'NR > 2 {print $6}'
|
else
|
||||||
} | sort | uniq -c | sort -rn
|
LANG= netstat -nat | awk 'NR > 2 {print $6}'
|
||||||
|
fi | sort | uniq -c | sort -rn
|
||||||
}
|
}
|
||||||
|
|
||||||
# View all 80 Port Connections
|
function _systemadmin_validate_ports() {
|
||||||
|
local port
|
||||||
|
for port in "$@"; do
|
||||||
|
if [[ $port != <0-65535> || ( $port == 0* && $port != 0 ) ]]; then
|
||||||
|
print -u2 "systemadmin: invalid port '$port' (expected 0 to 65535 without leading zeros)"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# View all connections on the given ports (default 80 and 443)
|
||||||
function con80() {
|
function con80() {
|
||||||
{
|
local -a ports=("$@")
|
||||||
LANG= ss -nat || LANG= netstat -nat
|
(( $# )) || ports=(80 443)
|
||||||
} | grep -E ":80[^0-9]" | wc -l
|
_systemadmin_validate_ports "${ports[@]}" || return
|
||||||
|
if (( $+commands[ss] )); then
|
||||||
|
LANG= ss -nat
|
||||||
|
else
|
||||||
|
LANG= netstat -nat
|
||||||
|
fi | grep -E ":(${(j:|:)ports})([[:space:]]|$)" | wc -l
|
||||||
}
|
}
|
||||||
|
|
||||||
# On the connected IP sorted by the number of connections
|
# On the connected IP sorted by the number of connections
|
||||||
function sortconip() {
|
function sortconip() {
|
||||||
{
|
if (( $+commands[ss] )); then
|
||||||
LANG= ss -ntu | awk 'NR > 1 {print $6}' \
|
LANG= ss -ntu | awk 'NR > 1 {print $6}'
|
||||||
|| LANG= netstat -ntu | awk 'NR > 2 {print $5}'
|
else
|
||||||
} | cut -d: -f1 | sort | uniq -c | sort -n
|
LANG= netstat -ntu | awk 'NR > 2 {print $5}'
|
||||||
|
fi | cut -d: -f1 | sort | uniq -c | sort -n
|
||||||
}
|
}
|
||||||
|
|
||||||
# top20 of Find the number of requests on 80 port
|
# top20 of Find the number of requests on the given ports (default 80 and 443)
|
||||||
function req20() {
|
function req20() {
|
||||||
{
|
local -a ports=("$@")
|
||||||
LANG= ss -tn | awk '$4 ~ /:80$/ {print $5}' \
|
(( $# )) || ports=(80 443)
|
||||||
|| LANG= netstat -tn | awk '$4 ~ /:80$/ {print $5}'
|
_systemadmin_validate_ports "${ports[@]}" || return
|
||||||
} | awk -F: '{print $1}' | sort | uniq -c | sort -nr | head -n 20
|
if (( $+commands[ss] )); then
|
||||||
|
LANG= ss -tn
|
||||||
|
else
|
||||||
|
LANG= netstat -tn
|
||||||
|
fi | awk -v ports="${(j:|:)ports}" '$4 ~ ":("ports")$" {print $5}' \
|
||||||
|
| awk -F: '{print $1}' | sort | uniq -c | sort -nr | head -n 20
|
||||||
}
|
}
|
||||||
|
|
||||||
# top20 of Using tcpdump port 80 access to view
|
# top20 of Using tcpdump to view access to the given ports (default 80 and 443)
|
||||||
function http20() {
|
function http20() {
|
||||||
sudo tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | head -n 20
|
local -a ports=("$@")
|
||||||
|
(( $# )) || ports=(80 443)
|
||||||
|
_systemadmin_validate_ports "${ports[@]}" || return
|
||||||
|
sudo tcpdump -i eth0 -tnn -c 1000 "dst port ${(j: or :)ports}" | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | head -n 20
|
||||||
}
|
}
|
||||||
|
|
||||||
# top20 of Find time_wait connection
|
# top20 of Find time_wait connection
|
||||||
function timewait20() {
|
function timewait20() {
|
||||||
{
|
if (( $+commands[ss] )); then
|
||||||
LANG= ss -nat | awk 'NR > 1 && /TIME-WAIT/ {print $5}' \
|
LANG= ss -nat
|
||||||
|| LANG= netstat -nat | awk 'NR > 2 && /TIME_WAIT/ {print $5}'
|
else
|
||||||
} | sort | uniq -c | sort -rn | head -n 20
|
LANG= netstat -nat
|
||||||
|
fi | awk '/TIME[-_]WAIT/ {print $5}' | sort | uniq -c | sort -rn | head -n 20
|
||||||
}
|
}
|
||||||
|
|
||||||
# top20 of Find SYN connection
|
# top20 of Find SYN connection
|
||||||
function syn20() {
|
function syn20() {
|
||||||
{
|
if (( $+commands[ss] )); then
|
||||||
LANG= ss -an | awk '/SYN/ {print $5}' \
|
LANG= ss -an
|
||||||
|| LANG= netstat -an | awk '/SYN/ {print $5}'
|
else
|
||||||
} | awk -F: '{print $1}' | sort | uniq -c | sort -nr | head -n20
|
LANG= netstat -an
|
||||||
|
fi | awk '/SYN/ {print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | head -n20
|
||||||
}
|
}
|
||||||
|
|
||||||
# Printing process according to the port number
|
# Printing process according to the port number
|
||||||
function port_pro() {
|
function port_pro() {
|
||||||
LANG= ss -ntlp | awk "NR > 1 && /:${1:-}/ {print \$6}" | sed 's/.*pid=\([^,]*\).*/\1/' \
|
if (( $+commands[ss] )); then
|
||||||
|| LANG= netstat -ntlp | awk "NR > 2 && /:${1:-}/ {print \$7}" | cut -d/ -f1
|
LANG= ss -ntlp | awk "NR > 1 && /:${1:-}/ {print \$6}" | sed 's/.*pid=\([^,]*\).*/\1/'
|
||||||
|
else
|
||||||
|
LANG= netstat -ntlp | awk "NR > 2 && /:${1:-}/ {print \$7}" | cut -d/ -f1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# top10 of gain access to the ip address
|
# top10 of gain access to the ip address
|
||||||
|
|||||||
@@ -24,6 +24,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_tailscale"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._tailscale"
|
||||||
zf_mv -f -- =( tailscale completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( tailscale completion zsh ) "$ZSH_CACHE_DIR/completions/_tailscale"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
# Generate and load task completion
|
# Generate and load task completion
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_task"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._task"
|
||||||
zf_mv -f -- =( task --completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( task --completion zsh ) "$ZSH_CACHE_DIR/completions/_task"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_timoni"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._timoni"
|
||||||
zf_mv -f -- =( timoni completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( timoni completion zsh ) "$ZSH_CACHE_DIR/completions/_timoni"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -178,6 +178,11 @@ alias tmux=_zsh_tmux_plugin_run
|
|||||||
function _tmux_directory_session() {
|
function _tmux_directory_session() {
|
||||||
# current directory without leading path
|
# current directory without leading path
|
||||||
local dir=${PWD##*/}
|
local dir=${PWD##*/}
|
||||||
|
# tmux target syntax treats '.' and ':' as separators, a leading '$', '@' or '%'
|
||||||
|
# as an id and a leading '=' as an exact-match prefix, so a session named after
|
||||||
|
# such a directory can't be found on reattach
|
||||||
|
dir=${dir//[.:]/_}
|
||||||
|
dir=${dir/#[\$@%=]/_}
|
||||||
# md5 hash for the full working directory path
|
# md5 hash for the full working directory path
|
||||||
local md5=$(printf '%s' "$PWD" | md5sum | cut -d ' ' -f 1)
|
local md5=$(printf '%s' "$PWD" | md5sum | cut -d ' ' -f 1)
|
||||||
# human friendly unique session name for this directory
|
# human friendly unique session name for this directory
|
||||||
|
|||||||
@@ -45,10 +45,10 @@ fi
|
|||||||
# Overwrites the file each time as completions might change with uv versions.
|
# Overwrites the file each time as completions might change with uv versions.
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_uv"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._uv"
|
||||||
zf_mv -f -- =( uv generate-shell-completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( uv generate-shell-completion zsh ) "$ZSH_CACHE_DIR/completions/_uv"
|
||||||
} &|
|
} &|
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_uvx"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._uvx"
|
||||||
zf_mv -f -- =( uvx --generate-shell-completion zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( uvx --generate-shell-completion zsh ) "$ZSH_CACHE_DIR/completions/_uvx"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ fi
|
|||||||
|
|
||||||
zmodload -F zsh/files b:zf_mv
|
zmodload -F zsh/files b:zf_mv
|
||||||
() {
|
() {
|
||||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_volta"
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._volta"
|
||||||
zf_mv -f -- =( volta completions zsh ) "$TMPPREFIX"
|
zf_mv -f -- =( volta completions zsh ) "$ZSH_CACHE_DIR/completions/_volta"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
Reference in New Issue
Block a user