mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2026-09-27 21:46:08 +02:00
Compare commits
47
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
129de5a05f | ||
|
|
bd77419b2a | ||
|
|
d217d05374 | ||
|
|
c891b750b0 | ||
|
|
6aa16696d5 | ||
|
|
8d10cc9488 | ||
|
|
bf77e350e0 | ||
|
|
07351f99fc | ||
|
|
39334a08e9 | ||
|
|
cba369e090 | ||
|
|
0da7919339 | ||
|
|
992edcc17d | ||
|
|
78cbb3fe5e | ||
|
|
76ac9fcddc | ||
|
|
17bbf5fdac | ||
|
|
704f7d59d8 | ||
|
|
0b235c54de | ||
|
|
426650fbe8 | ||
|
|
8a5b393088 | ||
|
|
87d4d40418 | ||
|
|
593e8ed6c8 | ||
|
|
747123823c | ||
|
|
daaa103cec | ||
|
|
4bdcaad01a | ||
|
|
5b5265d677 | ||
|
|
421d95782d | ||
|
|
7079eaf80d | ||
|
|
b842e5e63e | ||
|
|
c76b3002b6 | ||
|
|
3f84a2ae4a | ||
|
|
9112b53fa8 | ||
|
|
a5ecff7560 | ||
|
|
233ec5c507 | ||
|
|
91ad6c5c4c | ||
|
|
b5d75fc565 | ||
|
|
44ce832bbd | ||
|
|
b23f11ce1e | ||
|
|
4b657407c9 | ||
|
|
9b26410d99 | ||
|
|
58f87ce1e9 | ||
|
|
146461f7c6 | ||
|
|
ec03bc620c | ||
|
|
67462daf46 | ||
|
|
effdcb7572 | ||
|
|
830a5bcfd2 | ||
|
|
d42209f2af | ||
|
|
1b2b604c48 |
@@ -12,7 +12,7 @@ dependencies:
|
|||||||
plugins/gradle:
|
plugins/gradle:
|
||||||
repo: gradle/gradle-completion
|
repo: gradle/gradle-completion
|
||||||
branch: master
|
branch: master
|
||||||
version: 63578c9bc56134b80766e88957ba0239e6be2343
|
version: e7c881dbef7462bc35ad05328397e1582fe25cb8
|
||||||
precopy: |
|
precopy: |
|
||||||
set -e
|
set -e
|
||||||
find . ! -name _gradle ! -name LICENSE -delete
|
find . ! -name _gradle ! -name LICENSE -delete
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ jobs:
|
|||||||
contents: write # this is needed to push commits and branches
|
contents: write # this is needed to push commits and branches
|
||||||
steps:
|
steps:
|
||||||
- name: Harden the runner (Audit all outbound calls)
|
- name: Harden the runner (Audit all outbound calls)
|
||||||
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
|
uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
|
||||||
with:
|
with:
|
||||||
egress-policy: audit
|
egress-policy: audit
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
certifi==2026.7.22
|
certifi==2026.7.22
|
||||||
charset-normalizer==3.5.0
|
charset-normalizer==3.5.1
|
||||||
idna==3.18
|
idna==3.19
|
||||||
PyYAML==6.0.3
|
PyYAML==6.0.3
|
||||||
requests==2.34.2
|
requests==2.34.2
|
||||||
semver==3.0.4
|
semver==3.0.4
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ jobs:
|
|||||||
- macos-latest
|
- macos-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Harden the runner (Audit all outbound calls)
|
- name: Harden the runner (Audit all outbound calls)
|
||||||
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
|
uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
|
||||||
with:
|
with:
|
||||||
egress-policy: audit
|
egress-policy: audit
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ jobs:
|
|||||||
- test
|
- test
|
||||||
steps:
|
steps:
|
||||||
- name: Harden the runner (Audit all outbound calls)
|
- name: Harden the runner (Audit all outbound calls)
|
||||||
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
|
uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
|
||||||
with:
|
with:
|
||||||
egress-policy: audit
|
egress-policy: audit
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ jobs:
|
|||||||
if: github.repository == 'ohmyzsh/ohmyzsh'
|
if: github.repository == 'ohmyzsh/ohmyzsh'
|
||||||
steps:
|
steps:
|
||||||
- name: Harden the runner (Audit all outbound calls)
|
- name: Harden the runner (Audit all outbound calls)
|
||||||
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
|
uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
|
||||||
with:
|
with:
|
||||||
egress-policy: audit
|
egress-policy: audit
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ jobs:
|
|||||||
if: github.repository == 'ohmyzsh/ohmyzsh'
|
if: github.repository == 'ohmyzsh/ohmyzsh'
|
||||||
steps:
|
steps:
|
||||||
- name: Harden the runner (Audit all outbound calls)
|
- name: Harden the runner (Audit all outbound calls)
|
||||||
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
|
uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
|
||||||
with:
|
with:
|
||||||
egress-policy: audit
|
egress-policy: audit
|
||||||
- name: Authenticate as @ohmyzsh
|
- name: Authenticate as @ohmyzsh
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Harden the runner (Audit all outbound calls)
|
- name: Harden the runner (Audit all outbound calls)
|
||||||
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
|
uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
|
||||||
with:
|
with:
|
||||||
egress-policy: audit
|
egress-policy: audit
|
||||||
|
|
||||||
@@ -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@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
|
uses: github/codeql-action/upload-sarif@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
|
||||||
with:
|
with:
|
||||||
sarif_file: results.sarif
|
sarif_file: results.sarif
|
||||||
|
|||||||
@@ -23,6 +23,14 @@ Twitter), and join us on [Discord](https://discord.gg/ohmyzsh).
|
|||||||
[](https://mstdn.social/@ohmyzsh)
|
[](https://mstdn.social/@ohmyzsh)
|
||||||
[](https://discord.gg/ohmyzsh)
|
[](https://discord.gg/ohmyzsh)
|
||||||
|
|
||||||
|
<a href="https://commitgoods.com/collections/oh-my-zsh?utm_source=github">
|
||||||
|
<picture>
|
||||||
|
<source media="(prefers-color-scheme: dark)" srcset="https://cdn.shopify.com/s/files/1/0101/8752/files/commitgoods-badge-stacked-navy-dark.svg">
|
||||||
|
<img src="https://cdn.shopify.com/s/files/1/0101/8752/files/commitgoods-badge-stacked-navy.svg" height="28" alt="Official merch on commitgoods.com">
|
||||||
|
</picture>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Table of Contents</summary>
|
<summary>Table of Contents</summary>
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -519,7 +519,7 @@ function _omz::plugin::load {
|
|||||||
# Check if it has completion to reload compinit
|
# Check if it has completion to reload compinit
|
||||||
local -a comp_files
|
local -a comp_files
|
||||||
comp_files=($base/_*(N))
|
comp_files=($base/_*(N))
|
||||||
has_completion=$(( $#comp_files > 0 ))
|
(( has_completion )) || has_completion=$(( $#comp_files > 0 ))
|
||||||
|
|
||||||
# Load the plugin
|
# Load the plugin
|
||||||
if [[ -f "$base/$plugin.plugin.zsh" ]]; then
|
if [[ -f "$base/$plugin.plugin.zsh" ]]; then
|
||||||
|
|||||||
+1
-1
@@ -271,7 +271,7 @@ function _omz_diag_dump_check_core_commands() {
|
|||||||
unfunction unhash unlimit unset unsetopt vared wait whence where which zcompile
|
unfunction unhash unlimit unset unsetopt vared wait whence where which zcompile
|
||||||
zle zmodload zparseopts zregexparse zstyle )
|
zle zmodload zparseopts zregexparse zstyle )
|
||||||
if is-at-least 5.1; then
|
if is-at-least 5.1; then
|
||||||
reserved_word+=( declare export integer float local readonly typeset )
|
reserved_words+=( declare export integer float local readonly typeset )
|
||||||
else
|
else
|
||||||
builtins+=( declare export integer float local readonly typeset )
|
builtins+=( declare export integer float local readonly typeset )
|
||||||
fi
|
fi
|
||||||
|
|||||||
+22
-11
@@ -39,16 +39,27 @@ function _omz_git_prompt_info() {
|
|||||||
echo "${ZSH_THEME_GIT_PROMPT_PREFIX}${ref//\%/%%}${upstream//\%/%%}$(parse_git_dirty)${ZSH_THEME_GIT_PROMPT_SUFFIX}"
|
echo "${ZSH_THEME_GIT_PROMPT_PREFIX}${ref//\%/%%}${upstream//\%/%%}$(parse_git_dirty)${ZSH_THEME_GIT_PROMPT_SUFFIX}"
|
||||||
}
|
}
|
||||||
|
|
||||||
function _omz_git_prompt_status() {
|
# Match an extended regular expression against a subject, forcing the C locale
|
||||||
# OHMYZSH-13330: avoid "regex matching error: illegal byte sequence".
|
# only for the duration of the call.
|
||||||
# zsh's "=~" operator delegates to the C library regex, which aborts with
|
#
|
||||||
# REG_ILLSEQ when the subject contains an invalid byte sequence under a
|
# OHMYZSH-13330: zsh's "=~" operator delegates to the C library regex, which
|
||||||
# multibyte locale (e.g. a filename with non-UTF-8 bytes in `git status`
|
# aborts with REG_ILLSEQ when the subject contains an invalid byte sequence
|
||||||
# output). Forcing the C locale makes every byte a valid character, so the
|
# under a multibyte locale (e.g. a filename with non-UTF-8 bytes in `git
|
||||||
# regex matching below never fails that way. `git status --porcelain` is
|
# status` output). Forcing the C locale makes every byte a valid character,
|
||||||
# locale-independent, so this does not change the parsed output.
|
# so the regex matching never fails that way. `git status --porcelain` is
|
||||||
|
# locale-independent, so this does not change the parsed output.
|
||||||
|
#
|
||||||
|
# OHMYZSH-13985: the locale must be scoped to this function and not set for
|
||||||
|
# the whole caller. Assigning LC_ALL makes zsh re-run setlocale() right away,
|
||||||
|
# so leaving it set while the rest of the caller runs breaks multibyte
|
||||||
|
# handling there — most visibly, `echo` refuses to expand Unicode escapes in
|
||||||
|
# theme prompt symbols ("character not in range").
|
||||||
|
function _omz_git_prompt_status_match() {
|
||||||
local -x LC_ALL=C
|
local -x LC_ALL=C
|
||||||
|
[[ "$1" =~ "$2" ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
function _omz_git_prompt_status() {
|
||||||
[[ "$(__git_prompt_git config --get oh-my-zsh.hide-status 2>/dev/null)" = 1 ]] && return
|
[[ "$(__git_prompt_git config --get oh-my-zsh.hide-status 2>/dev/null)" = 1 ]] && return
|
||||||
|
|
||||||
# Maps a git status prefix to an internal constant
|
# Maps a git status prefix to an internal constant
|
||||||
@@ -113,11 +124,11 @@ function _omz_git_prompt_status() {
|
|||||||
status_lines=("${(@f)${status_text}}")
|
status_lines=("${(@f)${status_text}}")
|
||||||
|
|
||||||
# If the tracking line exists, get and parse it
|
# If the tracking line exists, get and parse it
|
||||||
if [[ "$status_lines[1]" =~ "^## [^ ]+ \[(.*)\]" ]]; then
|
if _omz_git_prompt_status_match "$status_lines[1]" "^## [^ ]+ \[(.*)\]"; then
|
||||||
local branch_statuses
|
local branch_statuses
|
||||||
branch_statuses=("${(@s/,/)match}")
|
branch_statuses=("${(@s/,/)match}")
|
||||||
for branch_status in $branch_statuses; do
|
for branch_status in $branch_statuses; do
|
||||||
if [[ ! $branch_status =~ "(behind|diverged|ahead) ([0-9]+)?" ]]; then
|
if ! _omz_git_prompt_status_match "$branch_status" "(behind|diverged|ahead) ([0-9]+)?"; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
local last_parsed_status=$prefix_constant_map[$match[1]]
|
local last_parsed_status=$prefix_constant_map[$match[1]]
|
||||||
@@ -130,7 +141,7 @@ function _omz_git_prompt_status() {
|
|||||||
local status_constant="${prefix_constant_map[$status_prefix]}"
|
local status_constant="${prefix_constant_map[$status_prefix]}"
|
||||||
local status_regex=$'(^|\n)'"$status_prefix"
|
local status_regex=$'(^|\n)'"$status_prefix"
|
||||||
|
|
||||||
if [[ "$status_text" =~ $status_regex ]]; then
|
if _omz_git_prompt_status_match "$status_text" "$status_regex"; then
|
||||||
statuses_seen[$status_constant]=1
|
statuses_seen[$status_constant]=1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ function chruby_prompt_info \
|
|||||||
azure_prompt_info \
|
azure_prompt_info \
|
||||||
tf_prompt_info \
|
tf_prompt_info \
|
||||||
conda_prompt_info \
|
conda_prompt_info \
|
||||||
|
go_prompt_info \
|
||||||
{
|
{
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-7
@@ -64,7 +64,7 @@ if [[ ! -w "$ZSH_CACHE_DIR" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Create cache and completions dir and add to $fpath
|
# Create cache and completions dir and add to $fpath
|
||||||
mkdir -p "$ZSH_CACHE_DIR/completions"
|
[[ -d "$ZSH_CACHE_DIR/completions" ]] || mkdir -p "$ZSH_CACHE_DIR/completions"
|
||||||
(( ${fpath[(Ie)$ZSH_CACHE_DIR/completions]} )) || fpath=("$ZSH_CACHE_DIR/completions" $fpath)
|
(( ${fpath[(Ie)$ZSH_CACHE_DIR/completions]} )) || fpath=("$ZSH_CACHE_DIR/completions" $fpath)
|
||||||
|
|
||||||
# Check for updates on initial load...
|
# Check for updates on initial load...
|
||||||
@@ -114,9 +114,17 @@ fi
|
|||||||
zcompdump_revision="#omz revision: $(builtin cd -q "$ZSH"; git rev-parse HEAD 2>/dev/null)"
|
zcompdump_revision="#omz revision: $(builtin cd -q "$ZSH"; git rev-parse HEAD 2>/dev/null)"
|
||||||
zcompdump_fpath="#omz fpath: $fpath"
|
zcompdump_fpath="#omz fpath: $fpath"
|
||||||
|
|
||||||
|
# Check whether the zcompdump file carries the current OMZ metadata lines
|
||||||
|
_omz_compdump_has_metadata() {
|
||||||
|
local -a lines
|
||||||
|
[[ -r "$ZSH_COMPDUMP" ]] || return 1
|
||||||
|
lines=("${(@f)$(<"$ZSH_COMPDUMP")}")
|
||||||
|
(( ${lines[(Ie)$zcompdump_revision]} && ${lines[(Ie)$zcompdump_fpath]} ))
|
||||||
|
}
|
||||||
|
|
||||||
# Delete the zcompdump file if OMZ zcompdump metadata changed
|
# Delete the zcompdump file if OMZ zcompdump metadata changed
|
||||||
if ! command grep -q -Fx "$zcompdump_revision" "$ZSH_COMPDUMP" 2>/dev/null \
|
zcompdump_refresh=0
|
||||||
|| ! command grep -q -Fx "$zcompdump_fpath" "$ZSH_COMPDUMP" 2>/dev/null; then
|
if ! _omz_compdump_has_metadata; then
|
||||||
command rm -f "$ZSH_COMPDUMP"
|
command rm -f "$ZSH_COMPDUMP"
|
||||||
zcompdump_refresh=1
|
zcompdump_refresh=1
|
||||||
fi
|
fi
|
||||||
@@ -134,9 +142,8 @@ else
|
|||||||
compinit -u -d "$ZSH_COMPDUMP"
|
compinit -u -d "$ZSH_COMPDUMP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Append zcompdump metadata if missing
|
# Append zcompdump metadata if missing (compinit may have regenerated the file)
|
||||||
if (( $zcompdump_refresh )) \
|
if (( zcompdump_refresh )) || ! _omz_compdump_has_metadata; then
|
||||||
|| ! command grep -q -Fx "$zcompdump_revision" "$ZSH_COMPDUMP" 2>/dev/null; then
|
|
||||||
# Use `tee` in case the $ZSH_COMPDUMP filename is invalid, to silence the error
|
# Use `tee` in case the $ZSH_COMPDUMP filename is invalid, to silence the error
|
||||||
# See https://github.com/ohmyzsh/ohmyzsh/commit/dd1a7269#commitcomment-39003489
|
# See https://github.com/ohmyzsh/ohmyzsh/commit/dd1a7269#commitcomment-39003489
|
||||||
tee -a "$ZSH_COMPDUMP" &>/dev/null <<EOF
|
tee -a "$ZSH_COMPDUMP" &>/dev/null <<EOF
|
||||||
@@ -146,9 +153,12 @@ $zcompdump_fpath
|
|||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
unset zcompdump_revision zcompdump_fpath zcompdump_refresh
|
unset zcompdump_revision zcompdump_fpath zcompdump_refresh
|
||||||
|
unset -f _omz_compdump_has_metadata
|
||||||
|
|
||||||
# zcompile the completion dump file if the .zwc is older or missing.
|
# zcompile the completion dump file if the .zwc is older or missing.
|
||||||
if command mkdir "${ZSH_COMPDUMP}.lock" 2>/dev/null; then
|
# Test that first so the lock directory and zrecompile are skipped when it's fresh.
|
||||||
|
if [[ ! "${ZSH_COMPDUMP}.zwc" -nt "$ZSH_COMPDUMP" ]] \
|
||||||
|
&& command mkdir "${ZSH_COMPDUMP}.lock" 2>/dev/null; then
|
||||||
zrecompile -q -p "$ZSH_COMPDUMP"
|
zrecompile -q -p "$ZSH_COMPDUMP"
|
||||||
command rm -rf "$ZSH_COMPDUMP.zwc.old" "${ZSH_COMPDUMP}.lock"
|
command rm -rf "$ZSH_COMPDUMP.zwc.old" "${ZSH_COMPDUMP}.lock"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -9,7 +9,11 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_op" ]]; then
|
|||||||
_comps[op]=_op
|
_comps[op]=_op
|
||||||
fi
|
fi
|
||||||
|
|
||||||
op completion zsh >| "$ZSH_CACHE_DIR/completions/_op" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_op"
|
||||||
|
zf_mv -f -- =( op completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|
||||||
# Load opswd function
|
# Load opswd function
|
||||||
autoload -Uz opswd
|
autoload -Uz opswd
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_arduino-cli" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Generate and load arduino-cli completion
|
# Generate and load arduino-cli completion
|
||||||
arduino-cli completion zsh >! "$ZSH_CACHE_DIR/completions/_arduino-cli" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_arduino-cli"
|
||||||
|
zf_mv -f -- =( arduino-cli completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_argocd" ]]; then
|
|||||||
_comps[argocd]=_argocd
|
_comps[argocd]=_argocd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
argocd completion zsh >| "$ZSH_CACHE_DIR/completions/_argocd" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_argocd"
|
||||||
|
zf_mv -f -- =( argocd completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -12,4 +12,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_asdf" ]]; then
|
|||||||
autoload -Uz _asdf
|
autoload -Uz _asdf
|
||||||
_comps[asdf]=_asdf
|
_comps[asdf]=_asdf
|
||||||
fi
|
fi
|
||||||
asdf completion zsh >| "$ZSH_CACHE_DIR/completions/_asdf" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_asdf"
|
||||||
|
zf_mv -f -- =( asdf completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ function asr() {
|
|||||||
local -a available_regions
|
local -a available_regions
|
||||||
available_regions=($(aws_regions))
|
available_regions=($(aws_regions))
|
||||||
if [[ -z "${available_regions[(r)$1]}" ]]; then
|
if [[ -z "${available_regions[(r)$1]}" ]]; then
|
||||||
echo "${fg[red]}Available regions: \n$(aws_regions)"
|
echo "${fg[red]}Available regions: \n$(aws_regions)${reset_color}" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_buf" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Generate and load buf completion
|
# Generate and load buf completion
|
||||||
buf completion zsh >! "$ZSH_CACHE_DIR/completions/_buf" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_buf"
|
||||||
|
zf_mv -f -- =( buf completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_bun" ]]; then
|
|||||||
_comps[bun]=_bun
|
_comps[bun]=_bun
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SHELL=zsh bun completions >| "$ZSH_CACHE_DIR/completions/_bun" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_bun"
|
||||||
|
zf_mv -f -- =( SHELL=zsh bun completions ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_charm" ]]; then
|
|||||||
_comps[charm]=_charm
|
_comps[charm]=_charm
|
||||||
fi
|
fi
|
||||||
|
|
||||||
charm completion zsh >| "$ZSH_CACHE_DIR/completions/_charm" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_charm"
|
||||||
|
zf_mv -f -- =( charm completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_chezmoi" ]]; then
|
|||||||
_comps[chezmoi]=_chezmoi
|
_comps[chezmoi]=_chezmoi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
chezmoi completion zsh >| "$ZSH_CACHE_DIR/completions/_chezmoi" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_chezmoi"
|
||||||
|
zf_mv -f -- =( chezmoi completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_codex" ]]; then
|
|||||||
_comps[codex]=_codex
|
_comps[codex]=_codex
|
||||||
fi
|
fi
|
||||||
|
|
||||||
codex completion zsh < /dev/null 2> /dev/null >| "$ZSH_CACHE_DIR/completions/_codex" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_codex"
|
||||||
|
zf_mv -f -- =( codex completion zsh < /dev/null 2> /dev/null ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -25,4 +25,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_deno" ]]; then
|
|||||||
_comps[deno]=_deno
|
_comps[deno]=_deno
|
||||||
fi
|
fi
|
||||||
|
|
||||||
deno completions zsh >| "$ZSH_CACHE_DIR/completions/_deno" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_deno"
|
||||||
|
zf_mv -f -- =( deno completions zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
This plugin provides completion for [docker-compose](https://docs.docker.com/compose/) as well as some
|
This plugin provides completion for [docker-compose](https://docs.docker.com/compose/) as well as some
|
||||||
aliases for frequent docker-compose commands.
|
aliases for frequent docker-compose commands.
|
||||||
This plugin chooses automatically between the legacy `docker-compose` command and the modern
|
This plugin chooses automatically between the legacy `docker-compose` command and the modern
|
||||||
`docker compose` subcommand, preferring `docker-compose` when both are available.
|
`docker compose` subcommand, preferring `docker-compose` when both are available.
|
||||||
|
|
||||||
To use it, add docker-compose to the plugins array of your zshrc file:
|
To use it, add docker-compose to the plugins array of your zshrc file:
|
||||||
@@ -17,6 +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 |
|
||||||
| 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 |
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
alias dco="$dccmd"
|
alias dco="$dccmd"
|
||||||
alias dcb="$dccmd build"
|
alias dcb="$dccmd build"
|
||||||
|
alias dcc="$dccmd config"
|
||||||
alias dce="$dccmd exec"
|
alias dce="$dccmd exec"
|
||||||
alias dcps="$dccmd ps"
|
alias dcps="$dccmd ps"
|
||||||
alias dcrestart="$dccmd restart"
|
alias dcrestart="$dccmd restart"
|
||||||
|
|||||||
@@ -56,14 +56,19 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_docker" ]]; then
|
|||||||
_comps[docker]=_docker
|
_comps[docker]=_docker
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
|
||||||
|
local plugin_dir="$1"
|
||||||
|
|
||||||
# `docker completion` is only available from 23.0.0 on
|
# `docker completion` is only available from 23.0.0 on
|
||||||
# docker version returns `Docker version 24.0.2, build cb74dfcd85`
|
# docker version returns `Docker version 24.0.2, build cb74dfcd85`
|
||||||
# with `s:,:` remove the comma after the version, and select third word of it
|
# with `s:,:` remove the comma after the version, and select third word of it
|
||||||
if zstyle -t ':omz:plugins:docker' legacy-completion || \
|
if zstyle -t ':omz:plugins:docker' legacy-completion || \
|
||||||
! 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 "${0:h}/completions/_docker" "$ZSH_CACHE_DIR/completions/_docker"
|
command cp "${plugin_dir}/completions/_docker" "$ZSH_CACHE_DIR/completions/_docker"
|
||||||
else
|
else
|
||||||
command docker completion zsh | tee "$ZSH_CACHE_DIR/completions/_docker" > /dev/null
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_docker"
|
||||||
|
zf_mv -f -- =( command docker completion zsh ) "$TMPPREFIX"
|
||||||
fi
|
fi
|
||||||
} &|
|
} "${0:A:h}" &|
|
||||||
|
|||||||
@@ -14,4 +14,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_doctl" ]]; then
|
|||||||
_comps[doctl]=_doctl
|
_comps[doctl]=_doctl
|
||||||
fi
|
fi
|
||||||
|
|
||||||
doctl completion zsh >| "$ZSH_CACHE_DIR/completions/_doctl" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_doctl"
|
||||||
|
zf_mv -f -- =( doctl completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -52,8 +52,13 @@ function _configure_eza() {
|
|||||||
if [[ $_val ]]; then
|
if [[ $_val ]]; then
|
||||||
_EZA_TAIL+=("--time-style='$_val'")
|
_EZA_TAIL+=("--time-style='$_val'")
|
||||||
fi
|
fi
|
||||||
if zstyle -t ":omz:plugins:eza" "hyperlink"; then
|
if zstyle -t ':omz:plugins:eza' 'hyperlink'; then
|
||||||
_EZA_TAIL+=("--hyperlink")
|
# eza >= 0.23 needs an explicit WHEN value
|
||||||
|
if command eza --hyperlink=auto --version &>/dev/null; then
|
||||||
|
_EZA_TAIL+=("--hyperlink=auto")
|
||||||
|
else
|
||||||
|
_EZA_TAIL+=("--hyperlink")
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,4 +30,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_flutter" ]]; then
|
|||||||
_comps[flutter]=_flutter
|
_comps[flutter]=_flutter
|
||||||
fi
|
fi
|
||||||
|
|
||||||
flutter zsh-completion < /dev/null >| "$ZSH_CACHE_DIR/completions/_flutter" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_flutter"
|
||||||
|
zf_mv -f -- =( flutter zsh-completion < /dev/null ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_flux" ]]; then
|
|||||||
_comps[flux]=_flux
|
_comps[flux]=_flux
|
||||||
fi
|
fi
|
||||||
|
|
||||||
flux completion zsh >| "$ZSH_CACHE_DIR/completions/_flux" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_flux"
|
||||||
|
zf_mv -f -- =( flux completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -10,7 +10,11 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_fnm" ]]; then
|
|||||||
_comps[fnm]=_fnm
|
_comps[fnm]=_fnm
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fnm completions --shell=zsh >| "$ZSH_CACHE_DIR/completions/_fnm" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_fnm"
|
||||||
|
zf_mv -f -- =( fnm completions --shell=zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|
||||||
if zstyle -t ':omz:plugins:fnm' autostart; then
|
if zstyle -t ':omz:plugins:fnm' autostart; then
|
||||||
local -a fnm_env_cmd
|
local -a fnm_env_cmd
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# Grafana CLI plugin
|
||||||
|
|
||||||
|
This plugin adds completion for the [Grafana CLI (gcx)](https://github.com/grafana/gcx).
|
||||||
|
|
||||||
|
To use it, add `gcx` to the plugins array in your zshrc file:
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
plugins=(... gcx)
|
||||||
|
```
|
||||||
|
|
||||||
|
This plugin does not add any aliases.
|
||||||
|
|
||||||
|
## Cache
|
||||||
|
|
||||||
|
This plugin caches the completion script and automatically updates it when the
|
||||||
|
plugin is loaded, which is usually when you start a new terminal emulator.
|
||||||
|
|
||||||
|
The cache is stored at `$ZSH_CACHE_DIR/completions/_gcx`.
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# Autocompletion for the Grafana CLI (gcx).
|
||||||
|
if (( ! $+commands[gcx] )); then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If the completion file doesn't exist yet, we need to autoload it and
|
||||||
|
# bind it to `gcx`. Otherwise, compinit will have already done that.
|
||||||
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_gcx" ]]; then
|
||||||
|
typeset -g -A _comps
|
||||||
|
autoload -Uz _gcx
|
||||||
|
_comps[gcx]=_gcx
|
||||||
|
fi
|
||||||
|
|
||||||
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_gcx"
|
||||||
|
zf_mv -f -- =( gcx completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_gh" ]]; then
|
|||||||
_comps[gh]=_gh
|
_comps[gh]=_gh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
gh completion --shell zsh >| "$ZSH_CACHE_DIR/completions/_gh" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_gh"
|
||||||
|
zf_mv -f -- =( gh completion --shell zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -137,8 +137,9 @@ function gbda() {
|
|||||||
# Copied and modified from James Roeder (jmaroeder) under MIT License
|
# Copied and modified from James Roeder (jmaroeder) under MIT License
|
||||||
# https://github.com/jmaroeder/plugin-git/blob/216723ef4f9e8dde399661c39c80bdf73f4076c4/functions/gbda.fish
|
# https://github.com/jmaroeder/plugin-git/blob/216723ef4f9e8dde399661c39c80bdf73f4076c4/functions/gbda.fish
|
||||||
function gbds() {
|
function gbds() {
|
||||||
local default_branch=$(git_main_branch)
|
local default_branch
|
||||||
(( ! $? )) || default_branch=$(git_develop_branch)
|
default_branch=$(git_main_branch) \
|
||||||
|
|| default_branch=$(git_develop_branch)
|
||||||
|
|
||||||
git for-each-ref refs/heads/ "--format=%(refname:short)" | \
|
git for-each-ref refs/heads/ "--format=%(refname:short)" | \
|
||||||
while read branch; do
|
while read branch; do
|
||||||
|
|||||||
@@ -39,3 +39,18 @@ plugins=(... golang)
|
|||||||
| gov | `go vet` | Vet examines Go source code and reports suspicious constructs |
|
| gov | `go vet` | Vet examines Go source code and reports suspicious constructs |
|
||||||
| gove | `go version` | Prints Go version |
|
| gove | `go version` | Prints Go version |
|
||||||
| gow | `go work` | Work provides access to operations on workspaces |
|
| gow | `go work` | Work provides access to operations on workspaces |
|
||||||
|
|
||||||
|
## Prompt
|
||||||
|
|
||||||
|
This plugin provides the `go_prompt_info` function to add the installed Go
|
||||||
|
version to your prompt.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
```
|
||||||
|
PROMPT="%~$ "
|
||||||
|
RPROMPT='$(go_prompt_info)'
|
||||||
|
```
|
||||||
|
changes your prompt to:
|
||||||
|
```
|
||||||
|
~/go/project$ ▋ 1.22.3
|
||||||
|
```
|
||||||
|
|||||||
@@ -36,3 +36,12 @@ alias gotofx='go tool fix'
|
|||||||
alias gov='go vet'
|
alias gov='go vet'
|
||||||
alias gove='go version'
|
alias gove='go version'
|
||||||
alias gow='go work'
|
alias gow='go work'
|
||||||
|
|
||||||
|
## prompt
|
||||||
|
function go_prompt_info() {
|
||||||
|
(( $+commands[go] )) || return
|
||||||
|
local go_prompt
|
||||||
|
go_prompt=$(go version | awk '{ print substr($3, 3) }')
|
||||||
|
[[ -z "${go_prompt}" ]] && return
|
||||||
|
echo "${ZSH_THEME_GO_PROMPT_PREFIX}${go_prompt:gs/%/%%}${ZSH_THEME_GO_PROMPT_SUFFIX}"
|
||||||
|
}
|
||||||
|
|||||||
+10
-4
@@ -284,6 +284,9 @@ __gradle_subcommand() {
|
|||||||
'-Dorg.gradle.debug.suspend=[]' \
|
'-Dorg.gradle.debug.suspend=[]' \
|
||||||
'-Dorg.gradle.debug=[]:org.gradle.debug:(true false)' \
|
'-Dorg.gradle.debug=[]:org.gradle.debug:(true false)' \
|
||||||
'-Dorg.gradle.dependency.verification=[Configures the dependency verification mode. Supported values are 'strict', 'lenient', or 'off'.]:org.gradle.dependency.verification:(strict lenient off)' \
|
'-Dorg.gradle.dependency.verification=[Configures the dependency verification mode. Supported values are 'strict', 'lenient', or 'off'.]:org.gradle.dependency.verification:(strict lenient off)' \
|
||||||
|
'-Dorg.gradle.isolated-projects.dangerously-ignore-problems=[]' \
|
||||||
|
'-Dorg.gradle.isolated-projects.diagnostics=[]' \
|
||||||
|
'-Dorg.gradle.isolated-projects=[Enables Isolated Projects. Projects are configured in parallel. Implies `--configuration-cache`.]' \
|
||||||
'-Dorg.gradle.java.home=[]:org.gradle.java.home:_directories' \
|
'-Dorg.gradle.java.home=[]:org.gradle.java.home:_directories' \
|
||||||
'-Dorg.gradle.java.installations.auto-detect=[]' \
|
'-Dorg.gradle.java.installations.auto-detect=[]' \
|
||||||
'-Dorg.gradle.java.installations.auto-download=[]' \
|
'-Dorg.gradle.java.installations.auto-download=[]' \
|
||||||
@@ -299,8 +302,6 @@ __gradle_subcommand() {
|
|||||||
'-Dorg.gradle.problems.report=[Enables the HTML problems report.]' \
|
'-Dorg.gradle.problems.report=[Enables the HTML problems report.]' \
|
||||||
'-Dorg.gradle.projectcachedir=[Specifies the project-specific cache directory. Default is .gradle in the root project directory.]:org.gradle.projectcachedir:_directories' \
|
'-Dorg.gradle.projectcachedir=[Specifies the project-specific cache directory. Default is .gradle in the root project directory.]:org.gradle.projectcachedir:_directories' \
|
||||||
'-Dorg.gradle.tooling.parallel=[]' \
|
'-Dorg.gradle.tooling.parallel=[]' \
|
||||||
'-Dorg.gradle.unsafe.isolated-projects.diagnostics=[]' \
|
|
||||||
'-Dorg.gradle.unsafe.isolated-projects=[]' \
|
|
||||||
'-Dorg.gradle.vfs.verbose=[]' \
|
'-Dorg.gradle.vfs.verbose=[]' \
|
||||||
'-Dorg.gradle.vfs.watch=[Enables file system watching. Reuses file system data for subsequent builds.]:org.gradle.vfs.watch:(true false)' \
|
'-Dorg.gradle.vfs.watch=[Enables file system watching. Reuses file system data for subsequent builds.]:org.gradle.vfs.watch:(true false)' \
|
||||||
'-Dorg.gradle.warning.mode=[Specifies which mode of warnings to generate. Supported values are 'all', 'fail', 'summary' (default), or 'none'.]' \
|
'-Dorg.gradle.warning.mode=[Specifies which mode of warnings to generate. Supported values are 'all', 'fail', 'summary' (default), or 'none'.]' \
|
||||||
@@ -328,12 +329,14 @@ __gradle_subcommand() {
|
|||||||
\*'--include-build[Includes the specified build in the composite.]:include build:_directories' \
|
\*'--include-build[Includes the specified build in the composite.]:include build:_directories' \
|
||||||
(--quiet,-q,--warn,-w,--debug,-d){-i,--info}'[Sets the log level to info.]' \
|
(--quiet,-q,--warn,-w,--debug,-d){-i,--info}'[Sets the log level to info.]' \
|
||||||
\*{-I,--init-script}'[Specifies an initialization script.]:init script:_files -g \*.gradle(|.kts)' \
|
\*{-I,--init-script}'[Specifies an initialization script.]:init script:_files -g \*.gradle(|.kts)' \
|
||||||
|
(--no-isolated-projects)'--isolated-projects[Enables Isolated Projects. Projects are configured in parallel. Implies `--configuration-cache`. (incubating)]' \
|
||||||
'--max-workers[Configures the maximum number of concurrent workers Gradle is allowed to use.]' \
|
'--max-workers[Configures the maximum number of concurrent workers Gradle is allowed to use.]' \
|
||||||
(--build-cache)'--no-build-cache[Disables the Gradle build cache.]' \
|
(--build-cache)'--no-build-cache[Disables the Gradle build cache.]' \
|
||||||
(--configuration-cache)'--no-configuration-cache[Disables the configuration cache.]' \
|
(--configuration-cache)'--no-configuration-cache[Disables the configuration cache.]' \
|
||||||
(--configure-on-demand)'--no-configure-on-demand[Disables the use of configuration on demand. (incubating)]' \
|
(--configure-on-demand)'--no-configure-on-demand[Disables the use of configuration on demand. (incubating)]' \
|
||||||
(--continue)'--no-continue[Stops task execution after a task failure.]' \
|
(--continue)'--no-continue[Stops task execution after a task failure.]' \
|
||||||
(--daemon)'--no-daemon[Runs the build without the Gradle daemon. Useful occasionally if you have configured Gradle to always run with the daemon by default.]' \
|
(--daemon)'--no-daemon[Runs the build without the Gradle daemon. Useful occasionally if you have configured Gradle to always run with the daemon by default.]' \
|
||||||
|
(--isolated-projects)'--no-isolated-projects[Disables Isolated Projects. (incubating)]' \
|
||||||
(--parallel)'--no-parallel[Disables parallel project execution.]' \
|
(--parallel)'--no-parallel[Disables parallel project execution.]' \
|
||||||
(--problems-report)'--no-problems-report[Disables the HTML problems report. (incubating)]' \
|
(--problems-report)'--no-problems-report[Disables the HTML problems report. (incubating)]' \
|
||||||
{-a,--no-rebuild}'[Disables rebuilding of project dependencies.]' \
|
{-a,--no-rebuild}'[Disables rebuilding of project dependencies.]' \
|
||||||
@@ -421,6 +424,9 @@ _gradle() {
|
|||||||
'-Dorg.gradle.debug.suspend=[]:->argument-expected' \
|
'-Dorg.gradle.debug.suspend=[]:->argument-expected' \
|
||||||
'-Dorg.gradle.debug=[]:org.gradle.debug:(true false):->argument-expected' \
|
'-Dorg.gradle.debug=[]:org.gradle.debug:(true false):->argument-expected' \
|
||||||
'-Dorg.gradle.dependency.verification=[Configures the dependency verification mode. Supported values are 'strict', 'lenient', or 'off'.]:org.gradle.dependency.verification:(strict lenient off):->argument-expected' \
|
'-Dorg.gradle.dependency.verification=[Configures the dependency verification mode. Supported values are 'strict', 'lenient', or 'off'.]:org.gradle.dependency.verification:(strict lenient off):->argument-expected' \
|
||||||
|
'-Dorg.gradle.isolated-projects.dangerously-ignore-problems=[]:->argument-expected' \
|
||||||
|
'-Dorg.gradle.isolated-projects.diagnostics=[]:->argument-expected' \
|
||||||
|
'-Dorg.gradle.isolated-projects=[Enables Isolated Projects. Projects are configured in parallel. Implies `--configuration-cache`.]:->argument-expected' \
|
||||||
'-Dorg.gradle.java.home=[]:org.gradle.java.home:_directories:->argument-expected' \
|
'-Dorg.gradle.java.home=[]:org.gradle.java.home:_directories:->argument-expected' \
|
||||||
'-Dorg.gradle.java.installations.auto-detect=[]:->argument-expected' \
|
'-Dorg.gradle.java.installations.auto-detect=[]:->argument-expected' \
|
||||||
'-Dorg.gradle.java.installations.auto-download=[]:->argument-expected' \
|
'-Dorg.gradle.java.installations.auto-download=[]:->argument-expected' \
|
||||||
@@ -436,8 +442,6 @@ _gradle() {
|
|||||||
'-Dorg.gradle.problems.report=[Enables the HTML problems report.]:->argument-expected' \
|
'-Dorg.gradle.problems.report=[Enables the HTML problems report.]:->argument-expected' \
|
||||||
'-Dorg.gradle.projectcachedir=[Specifies the project-specific cache directory. Default is .gradle in the root project directory.]:org.gradle.projectcachedir:_directories:->argument-expected' \
|
'-Dorg.gradle.projectcachedir=[Specifies the project-specific cache directory. Default is .gradle in the root project directory.]:org.gradle.projectcachedir:_directories:->argument-expected' \
|
||||||
'-Dorg.gradle.tooling.parallel=[]:->argument-expected' \
|
'-Dorg.gradle.tooling.parallel=[]:->argument-expected' \
|
||||||
'-Dorg.gradle.unsafe.isolated-projects.diagnostics=[]:->argument-expected' \
|
|
||||||
'-Dorg.gradle.unsafe.isolated-projects=[]:->argument-expected' \
|
|
||||||
'-Dorg.gradle.vfs.verbose=[]:->argument-expected' \
|
'-Dorg.gradle.vfs.verbose=[]:->argument-expected' \
|
||||||
'-Dorg.gradle.vfs.watch=[Enables file system watching. Reuses file system data for subsequent builds.]:org.gradle.vfs.watch:(true false):->argument-expected' \
|
'-Dorg.gradle.vfs.watch=[Enables file system watching. Reuses file system data for subsequent builds.]:org.gradle.vfs.watch:(true false):->argument-expected' \
|
||||||
'-Dorg.gradle.warning.mode=[Specifies which mode of warnings to generate. Supported values are 'all', 'fail', 'summary' (default), or 'none'.]:->argument-expected' \
|
'-Dorg.gradle.warning.mode=[Specifies which mode of warnings to generate. Supported values are 'all', 'fail', 'summary' (default), or 'none'.]:->argument-expected' \
|
||||||
@@ -466,12 +470,14 @@ _gradle() {
|
|||||||
\*'--include-build[Includes the specified build in the composite.]:include build:_directories:->argument-expected' \
|
\*'--include-build[Includes the specified build in the composite.]:include build:_directories:->argument-expected' \
|
||||||
(--quiet,-q,--warn,-w,--debug,-d){-i,--info}'[Sets the log level to info.]' \
|
(--quiet,-q,--warn,-w,--debug,-d){-i,--info}'[Sets the log level to info.]' \
|
||||||
\*{-I,--init-script}'[Specifies an initialization script.]:init script:_files -g \*.gradle(|.kts):->argument-expected' \
|
\*{-I,--init-script}'[Specifies an initialization script.]:init script:_files -g \*.gradle(|.kts):->argument-expected' \
|
||||||
|
(--no-isolated-projects)'--isolated-projects[Enables Isolated Projects. Projects are configured in parallel. Implies `--configuration-cache`. (incubating)]' \
|
||||||
'--max-workers[Configures the maximum number of concurrent workers Gradle is allowed to use.]:->argument-expected' \
|
'--max-workers[Configures the maximum number of concurrent workers Gradle is allowed to use.]:->argument-expected' \
|
||||||
(--build-cache)'--no-build-cache[Disables the Gradle build cache.]' \
|
(--build-cache)'--no-build-cache[Disables the Gradle build cache.]' \
|
||||||
(--configuration-cache)'--no-configuration-cache[Disables the configuration cache.]' \
|
(--configuration-cache)'--no-configuration-cache[Disables the configuration cache.]' \
|
||||||
(--configure-on-demand)'--no-configure-on-demand[Disables the use of configuration on demand. (incubating)]' \
|
(--configure-on-demand)'--no-configure-on-demand[Disables the use of configuration on demand. (incubating)]' \
|
||||||
(--continue)'--no-continue[Stops task execution after a task failure.]' \
|
(--continue)'--no-continue[Stops task execution after a task failure.]' \
|
||||||
(--daemon)'--no-daemon[Runs the build without the Gradle daemon. Useful occasionally if you have configured Gradle to always run with the daemon by default.]' \
|
(--daemon)'--no-daemon[Runs the build without the Gradle daemon. Useful occasionally if you have configured Gradle to always run with the daemon by default.]' \
|
||||||
|
(--isolated-projects)'--no-isolated-projects[Disables Isolated Projects. (incubating)]' \
|
||||||
(--parallel)'--no-parallel[Disables parallel project execution.]' \
|
(--parallel)'--no-parallel[Disables parallel project execution.]' \
|
||||||
(--problems-report)'--no-problems-report[Disables the HTML problems report. (incubating)]' \
|
(--problems-report)'--no-problems-report[Disables the HTML problems report. (incubating)]' \
|
||||||
{-a,--no-rebuild}'[Disables rebuilding of project dependencies.]' \
|
{-a,--no-rebuild}'[Disables rebuilding of project dependencies.]' \
|
||||||
|
|||||||
@@ -9,5 +9,9 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_hasura" ]]; then
|
|||||||
source "$ZSH_CACHE_DIR/completions/_hasura"
|
source "$ZSH_CACHE_DIR/completions/_hasura"
|
||||||
else
|
else
|
||||||
source "$ZSH_CACHE_DIR/completions/_hasura"
|
source "$ZSH_CACHE_DIR/completions/_hasura"
|
||||||
hasura completion zsh --file "$ZSH_CACHE_DIR/completions/_hasura" >/dev/null &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_hasura"
|
||||||
|
zf_mv -f -- =( hasura completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -13,7 +13,11 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_hcloud" ]]; then
|
|||||||
_comps[hcloud]=_hcloud
|
_comps[hcloud]=_hcloud
|
||||||
fi
|
fi
|
||||||
|
|
||||||
hcloud completion zsh 2> /dev/null >| "$ZSH_CACHE_DIR/completions/_hcloud" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_hcloud"
|
||||||
|
zf_mv -f -- =( hcloud completion zsh 2> /dev/null ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|
||||||
# Main alias
|
# Main alias
|
||||||
alias hc='hcloud'
|
alias hc='hcloud'
|
||||||
|
|||||||
@@ -9,7 +9,11 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_helm" ]]; then
|
|||||||
source "$ZSH_CACHE_DIR/completions/_helm"
|
source "$ZSH_CACHE_DIR/completions/_helm"
|
||||||
else
|
else
|
||||||
source "$ZSH_CACHE_DIR/completions/_helm"
|
source "$ZSH_CACHE_DIR/completions/_helm"
|
||||||
helm completion zsh | tee "$ZSH_CACHE_DIR/completions/_helm" >/dev/null &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_helm"
|
||||||
|
zf_mv -f -- =( helm completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
alias h='helm'
|
alias h='helm'
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,11 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_jj" ]]; then
|
|||||||
_comps[jj]=_jj
|
_comps[jj]=_jj
|
||||||
fi
|
fi
|
||||||
|
|
||||||
COMPLETE=zsh jj >| "$ZSH_CACHE_DIR/completions/_jj" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_jj"
|
||||||
|
zf_mv -f -- =( COMPLETE=zsh jj ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|
||||||
function __jj_prompt_jj() {
|
function __jj_prompt_jj() {
|
||||||
local -a flags
|
local -a flags
|
||||||
@@ -41,35 +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'
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ alias jdlr='juju debug-log --ms --replay'
|
|||||||
alias jcon='juju consume'
|
alias jcon='juju consume'
|
||||||
alias jeb='juju export-bundle'
|
alias jeb='juju export-bundle'
|
||||||
alias jex='juju expose'
|
alias jex='juju expose'
|
||||||
|
alias junex='juju unexpose'
|
||||||
alias jh='juju help'
|
alias jh='juju help'
|
||||||
alias jkc='juju kill-controller -y -t 0'
|
alias jkc='juju kill-controller -y -t 0'
|
||||||
alias jm='juju models'
|
alias jm='juju models'
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ fi
|
|||||||
|
|
||||||
# and then generate it in the background. On first completion,
|
# and then generate it in the background. On first completion,
|
||||||
# the actual completion file will be loaded.
|
# the actual completion file will be loaded.
|
||||||
k9s completion zsh >| "$ZSH_CACHE_DIR/completions/_k9s" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_k9s"
|
||||||
|
zf_mv -f -- =( k9s completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -11,7 +11,11 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_kind" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Generate and load kind completion
|
# Generate and load kind completion
|
||||||
kind completion zsh >! "$ZSH_CACHE_DIR/completions/_kind" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_kind"
|
||||||
|
zf_mv -f -- =( kind completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|
||||||
# Register aliases
|
# Register aliases
|
||||||
alias kicc="kind create cluster"
|
alias kicc="kind create cluster"
|
||||||
|
|||||||
@@ -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** |
|
||||||
@@ -129,7 +130,7 @@ plugins=(... kubectl)
|
|||||||
| kdss | `kubectl describe statefulset` | Describe statefulset resource in detail |
|
| kdss | `kubectl describe statefulset` | Describe statefulset resource in detail |
|
||||||
| kdelss | `kubectl delete statefulset` | Delete the statefulset |
|
| kdelss | `kubectl delete statefulset` | Delete the statefulset |
|
||||||
| ksss | `kubectl scale statefulset` | Scale a statefulset |
|
| ksss | `kubectl scale statefulset` | Scale a statefulset |
|
||||||
| krsss | `kubectl rollout status statefulset` | Check the rollout status of a deployment |
|
| krsss | `kubectl rollout status statefulset` | Check the rollout status of a statefulset |
|
||||||
| krrss | `kubectl rollout restart statefulset` | Rollout restart a statefulset |
|
| krrss | `kubectl rollout restart statefulset` | Rollout restart a statefulset |
|
||||||
| | | **Service Accounts management** |
|
| | | **Service Accounts management** |
|
||||||
| kdsa | `kubectl describe sa` | Describe a service account in details |
|
| kdsa | `kubectl describe sa` | Describe a service account in details |
|
||||||
|
|||||||
@@ -10,7 +10,11 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_kubectl" ]]; then
|
|||||||
_comps[kubectl]=_kubectl
|
_comps[kubectl]=_kubectl
|
||||||
fi
|
fi
|
||||||
|
|
||||||
kubectl completion zsh 2> /dev/null >| "$ZSH_CACHE_DIR/completions/_kubectl" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_kubectl"
|
||||||
|
zf_mv -f -- =( kubectl completion zsh 2> /dev/null ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|
||||||
# This command is used a LOT both below and in daily life
|
# This command is used a LOT both below and in daily life
|
||||||
alias k=kubectl
|
alias k=kubectl
|
||||||
@@ -89,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'
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,8 @@ plugins=(... laravel)
|
|||||||
| `pamen` | `php artisan make:enum` |
|
| `pamen` | `php artisan make:enum` |
|
||||||
| `pami` | `php artisan make:interface` |
|
| `pami` | `php artisan make:interface` |
|
||||||
| `pamtr` | `php artisan make:trait` |
|
| `pamtr` | `php artisan make:trait` |
|
||||||
|
| `pamv` | `php artisan make:view` |
|
||||||
|
| `pammig` | `php artisan make:migration` |
|
||||||
|
|
||||||
## Clears
|
## Clears
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ alias pamcl='php artisan make:class'
|
|||||||
alias pamen='php artisan make:enum'
|
alias pamen='php artisan make:enum'
|
||||||
alias pami='php artisan make:interface'
|
alias pami='php artisan make:interface'
|
||||||
alias pamtr='php artisan make:trait'
|
alias pamtr='php artisan make:trait'
|
||||||
|
alias pamv='php artisan make:view'
|
||||||
|
alias pammig='php artisan make:migration'
|
||||||
|
|
||||||
|
|
||||||
# Clears
|
# Clears
|
||||||
|
|||||||
@@ -10,4 +10,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_minikube" ]]; then
|
|||||||
_comps[minikube]=_minikube
|
_comps[minikube]=_minikube
|
||||||
fi
|
fi
|
||||||
|
|
||||||
minikube completion zsh >| "$ZSH_CACHE_DIR/completions/_minikube" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_minikube"
|
||||||
|
zf_mv -f -- =( minikube completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -1,9 +1,14 @@
|
|||||||
if (( ! $+commands[mise] )); then
|
if (( $+commands[mise] )); then
|
||||||
|
_mise_bin=mise
|
||||||
|
elif [[ -x ~/.local/bin/mise ]]; then
|
||||||
|
_mise_bin=~/.local/bin/mise
|
||||||
|
else
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Load mise hooks
|
# Load mise hooks
|
||||||
eval "$(mise activate zsh)"
|
eval "$($_mise_bin activate zsh)"
|
||||||
|
unset _mise_bin
|
||||||
|
|
||||||
# If the completion file doesn't exist yet, we need to autoload it and
|
# If the completion file doesn't exist yet, we need to autoload it and
|
||||||
# bind it to `mise`. Otherwise, compinit will have already done that.
|
# bind it to `mise`. Otherwise, compinit will have already done that.
|
||||||
@@ -14,4 +19,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_mise" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Generate and load mise completion
|
# Generate and load mise completion
|
||||||
mise completion zsh >| "$ZSH_CACHE_DIR/completions/_mise" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_mise"
|
||||||
|
zf_mv -f -- =( mise completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -11,7 +11,11 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_molecule" ]]; then
|
|||||||
_comps[molecule]=_molecule
|
_comps[molecule]=_molecule
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_MOLECULE_COMPLETE=zsh_source molecule >| "$ZSH_CACHE_DIR/completions/_molecule" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_molecule"
|
||||||
|
zf_mv -f -- =( _MOLECULE_COMPLETE=zsh_source molecule ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|
||||||
# Alias
|
# Alias
|
||||||
# molecule: https://docs.ansible.com/projects/molecule/
|
# molecule: https://docs.ansible.com/projects/molecule/
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_atlas" ]]; then
|
|||||||
_comps[atlas]=_atlas
|
_comps[atlas]=_atlas
|
||||||
fi
|
fi
|
||||||
|
|
||||||
atlas completion zsh >| "$ZSH_CACHE_DIR/completions/atlas" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_atlas"
|
||||||
|
zf_mv -f -- =( atlas completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -7,7 +7,11 @@ if (( $+commands[nsc] )); then
|
|||||||
_comps[nsc]=_nsc
|
_comps[nsc]=_nsc
|
||||||
fi
|
fi
|
||||||
|
|
||||||
nsc completion zsh >| "$ZSH_CACHE_DIR/completions/_nsc" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_nsc"
|
||||||
|
zf_mv -f -- =( nsc completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( $+commands[nats] )); then
|
if (( $+commands[nats] )); then
|
||||||
@@ -19,5 +23,9 @@ if (( $+commands[nats] )); then
|
|||||||
_comps[nats]=_nats
|
_comps[nats]=_nats
|
||||||
fi
|
fi
|
||||||
|
|
||||||
nats --completion-script-zsh >| "$ZSH_CACHE_DIR/completions/_nats" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_nats"
|
||||||
|
zf_mv -f -- =( nats --completion-script-zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_ngrok" ]]; then
|
|||||||
_comps[ngrok]=_ngrok
|
_comps[ngrok]=_ngrok
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ngrok completion zsh >| "$ZSH_CACHE_DIR/completions/_ngrok" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_ngrok"
|
||||||
|
zf_mv -f -- =( ngrok completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_pass-cli" ]]; then
|
|||||||
_comps[pass-cli]=_pass-cli
|
_comps[pass-cli]=_pass-cli
|
||||||
fi
|
fi
|
||||||
|
|
||||||
pass-cli completions zsh >| "$ZSH_CACHE_DIR/completions/_pass-cli" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_pass-cli"
|
||||||
|
zf_mv -f -- =( pass-cli completions zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -43,7 +43,11 @@ else
|
|||||||
_comps[pipenv]=_pipenv
|
_comps[pipenv]=_pipenv
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_PIPENV_COMPLETE=zsh_source pipenv >| "$ZSH_CACHE_DIR/completions/_pipenv" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_pipenv"
|
||||||
|
zf_mv -f -- =( _PIPENV_COMPLETE=zsh_source pipenv ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if zstyle -T ':omz:plugins:pipenv' auto-shell; then
|
if zstyle -T ':omz:plugins:pipenv' auto-shell; then
|
||||||
@@ -52,19 +56,26 @@ if zstyle -T ':omz:plugins:pipenv' auto-shell; then
|
|||||||
# deactivate shell if Pipfile doesn't exist and not in a subdir
|
# deactivate shell if Pipfile doesn't exist and not in a subdir
|
||||||
if [[ ! -f "$PWD/Pipfile" ]]; then
|
if [[ ! -f "$PWD/Pipfile" ]]; then
|
||||||
if [[ "$PIPENV_ACTIVE" == 1 ]]; then
|
if [[ "$PIPENV_ACTIVE" == 1 ]]; then
|
||||||
if [[ "$PWD" != "$pipfile_dir"* ]]; then
|
# Compare whole path components: `$pipfile_dir"*` also matches unrelated
|
||||||
|
# siblings that merely start with the same text (…/proj -> …/proj-docs),
|
||||||
|
# which would keep the virtualenv active outside the project.
|
||||||
|
local project_dir="${pipfile_dir%/}"
|
||||||
|
if [[ "$PWD" != "$project_dir" && "$PWD" != "$project_dir"/* ]]; then
|
||||||
unset PIPENV_ACTIVE pipfile_dir
|
unset PIPENV_ACTIVE pipfile_dir
|
||||||
deactivate
|
deactivate
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# activate the shell if Pipfile exists
|
# activate the shell if Pipfile exists and its virtualenv is usable
|
||||||
if [[ "$PIPENV_ACTIVE" != 1 ]]; then
|
if [[ "$PIPENV_ACTIVE" != 1 ]]; then
|
||||||
if [[ -f "$PWD/Pipfile" ]]; then
|
if [[ -f "$PWD/Pipfile" ]]; then
|
||||||
export pipfile_dir="$PWD"
|
local venv_path
|
||||||
source "$(pipenv --venv)/bin/activate"
|
if venv_path="$(pipenv --venv 2>/dev/null)" && [[ -n "$venv_path" && -f "$venv_path/bin/activate" ]]; then
|
||||||
export PIPENV_ACTIVE=1
|
export pipfile_dir="$PWD"
|
||||||
|
source "$venv_path/bin/activate"
|
||||||
|
export PIPENV_ACTIVE=1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,11 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_podman" ]]; then
|
|||||||
_comps[podman]=_podman
|
_comps[podman]=_podman
|
||||||
fi
|
fi
|
||||||
|
|
||||||
podman completion zsh 2> /dev/null >| "$ZSH_CACHE_DIR/completions/_podman" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_podman"
|
||||||
|
zf_mv -f -- =( podman completion zsh 2> /dev/null ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|
||||||
alias pbl='podman build'
|
alias pbl='podman build'
|
||||||
alias pcin='podman container inspect'
|
alias pcin='podman container inspect'
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
# Poetry Environment Plugin
|
# Poetry Environment Plugin
|
||||||
|
|
||||||
This plugin automatically changes poetry environment when you cd into or out of the project directory.
|
This plugin automatically activates a Poetry environment when you enter a
|
||||||
Note: Script looks for pyproject.toml file to determine poetry if its a poetry environment
|
directory containing both `pyproject.toml` and `poetry.lock`. It keeps the
|
||||||
|
environment active in project subdirectories, switches to nested Poetry
|
||||||
|
projects, and deactivates it when you leave the project tree.
|
||||||
|
|
||||||
To use it, add `poetry-env` to the plugins array in your zshrc file:
|
To use it, add `poetry-env` to the plugins array in your zshrc file:
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +1,29 @@
|
|||||||
_togglePoetryShell() {
|
_togglePoetryShell() {
|
||||||
# Determine if currently in a Poetry-managed directory
|
# Determine if currently in a Poetry-managed directory
|
||||||
local in_poetry_dir=0
|
local in_poetry_dir=0
|
||||||
|
local in_active_poetry_dir=0
|
||||||
if [[ -f "$PWD/pyproject.toml" && -f "$PWD/poetry.lock" ]]; then
|
if [[ -f "$PWD/pyproject.toml" && -f "$PWD/poetry.lock" ]]; then
|
||||||
in_poetry_dir=1
|
in_poetry_dir=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Deactivate the current environment if moving out of a Poetry directory or into a different Poetry directory
|
# Deactivate when leaving the active project or entering a nested project
|
||||||
if [[ $poetry_active -eq 1 ]] && { [[ $in_poetry_dir -eq 0 ]] || [[ "$PWD" != "$poetry_dir"* ]]; }; then
|
if [[ $poetry_active -eq 1 ]]; then
|
||||||
export poetry_active=0
|
local project_dir="${poetry_dir%/}"
|
||||||
unset poetry_dir
|
if [[ "$PWD" == "$project_dir" || "$PWD" == "$project_dir"/* ]]; then
|
||||||
(( $+functions[deactivate] )) && deactivate
|
in_active_poetry_dir=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $in_active_poetry_dir -eq 0 ]] ||
|
||||||
|
{ [[ $in_poetry_dir -eq 1 ]] && [[ "$PWD" != "$poetry_dir" ]]; }; then
|
||||||
|
export poetry_active=0
|
||||||
|
unset poetry_dir
|
||||||
|
(( $+functions[deactivate] )) && deactivate
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Activate the environment if in a Poetry directory and no environment is currently active
|
# Activate the environment if in a Poetry directory and no environment is currently active
|
||||||
if [[ $in_poetry_dir -eq 1 ]] && [[ $poetry_active -ne 1 ]]; then
|
if [[ $in_poetry_dir -eq 1 ]] && [[ $poetry_active -ne 1 ]]; then
|
||||||
venv_dir=$(poetry env info --path 2>/dev/null)
|
local venv_dir=$(poetry env info --path 2>/dev/null)
|
||||||
# Handle case where poetry returns "." for in-project virtual environments
|
# Handle case where poetry returns "." for in-project virtual environments
|
||||||
if [[ "$venv_dir" == "." ]]; then
|
if [[ "$venv_dir" == "." ]]; then
|
||||||
venv_dir="$PWD/.venv"
|
venv_dir="$PWD/.venv"
|
||||||
|
|||||||
@@ -39,4 +39,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_poetry" ]]; then
|
|||||||
_comps[poetry]=_poetry
|
_comps[poetry]=_poetry
|
||||||
fi
|
fi
|
||||||
|
|
||||||
poetry completions zsh >| "$ZSH_CACHE_DIR/completions/_poetry" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_poetry"
|
||||||
|
zf_mv -f -- =( poetry completions zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -10,12 +10,16 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_procs" ]]; then
|
|||||||
_comps[procs]=_procs
|
_comps[procs]=_procs
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
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)
|
||||||
if is-at-least "0.14" "${_version#procs }"; then
|
zf_mv -f -- =(
|
||||||
procs --gen-completion-out zsh >| "$ZSH_CACHE_DIR/completions/_procs"
|
if is-at-least "0.14" "${_version#procs }"; then
|
||||||
else
|
procs --gen-completion-out zsh
|
||||||
procs --completion-out zsh >| "$ZSH_CACHE_DIR/completions/_procs"
|
else
|
||||||
fi
|
procs --completion-out zsh
|
||||||
|
fi
|
||||||
|
) "$TMPPREFIX"
|
||||||
} &|
|
} &|
|
||||||
|
|||||||
@@ -10,7 +10,11 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_pulumi" ]]; then
|
|||||||
_comps[pulumi]=_pulumi
|
_comps[pulumi]=_pulumi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
pulumi gen-completion zsh >| "$ZSH_CACHE_DIR/completions/_pulumi" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_pulumi"
|
||||||
|
zf_mv -f -- =( pulumi gen-completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|
||||||
# Aliases
|
# Aliases
|
||||||
alias pul='pulumi'
|
alias pul='pulumi'
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_qodana" ]]; then
|
|||||||
_comps[qodana]=_qodana
|
_comps[qodana]=_qodana
|
||||||
fi
|
fi
|
||||||
|
|
||||||
qodana completion zsh >| "$ZSH_CACHE_DIR/completions/_qodana" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_qodana"
|
||||||
|
zf_mv -f -- =( qodana completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -54,6 +54,33 @@ plugins=(... rails)
|
|||||||
| `rta` | `rails test:all` | Runs all Rails tests, including system tests |
|
| `rta` | `rails test:all` | Runs all Rails tests, including system tests |
|
||||||
| `ru` | `rails runner` | Run Ruby code in the context of Rails |
|
| `ru` | `rails runner` | Run Ruby code in the context of Rails |
|
||||||
|
|
||||||
|
### Multiple databases
|
||||||
|
|
||||||
|
Rails applications can define more than one database (`primary`, `cache`, `cable`,
|
||||||
|
`queue`, ...), and each one gets its own namespaced task. These commands accept an
|
||||||
|
optional database name as the first argument:
|
||||||
|
|
||||||
|
`rdc`, `rdd`, `rdm`, `rdmd`, `rdmr`, `rdms`, `rdmu`, `rdr`, `rdrs`, `rdsl`
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
rdm # rails db:migrate
|
||||||
|
rdm cache # rails db:migrate:cache
|
||||||
|
rdm VERSION=20231225 # rails db:migrate VERSION=20231225
|
||||||
|
rdm cache STEP=2 # rails db:migrate:cache STEP=2
|
||||||
|
rdm --trace # rails db:migrate --trace
|
||||||
|
```
|
||||||
|
|
||||||
|
The first argument is read as a database name only when it is a bare word. Flags
|
||||||
|
(`--trace`), variables (`STEP=2`) and other tasks (`db:seed`) are passed through to
|
||||||
|
`rails` unchanged, so previous usage keeps working. When a database name is given,
|
||||||
|
the resolved command is printed so it is clear which database is being used.
|
||||||
|
|
||||||
|
`rdmrs` is not in the list above because Rails does not define a per-database
|
||||||
|
`db:migrate:reset` task.
|
||||||
|
|
||||||
|
Note that these are implemented as shell functions rather than aliases, so they will
|
||||||
|
not appear in the output of `alias`.
|
||||||
|
|
||||||
### Foreman
|
### Foreman
|
||||||
|
|
||||||
| Alias | Command | Description |
|
| Alias | Command | Description |
|
||||||
|
|||||||
@@ -47,19 +47,9 @@ alias rc='rails console'
|
|||||||
alias rcs='rails console --sandbox'
|
alias rcs='rails console --sandbox'
|
||||||
alias rd='rails destroy'
|
alias rd='rails destroy'
|
||||||
alias rdb='rails dbconsole'
|
alias rdb='rails dbconsole'
|
||||||
alias rdc='rails db:create'
|
|
||||||
alias rdd='rails db:drop'
|
|
||||||
alias rdm='rails db:migrate'
|
|
||||||
alias rdmd='rails db:migrate:down'
|
|
||||||
alias rdmr='rails db:migrate:redo'
|
|
||||||
alias rdmrs='rails db:migrate:reset'
|
alias rdmrs='rails db:migrate:reset'
|
||||||
alias rdms='rails db:migrate:status'
|
|
||||||
alias rdmtc='rails db:migrate db:test:clone'
|
alias rdmtc='rails db:migrate db:test:clone'
|
||||||
alias rdmu='rails db:migrate:up'
|
|
||||||
alias rdr='rails db:rollback'
|
|
||||||
alias rdrs='rails db:reset'
|
|
||||||
alias rds='rails db:seed'
|
alias rds='rails db:seed'
|
||||||
alias rdsl='rails db:schema:load'
|
|
||||||
alias rdtc='rails db:test:clone'
|
alias rdtc='rails db:test:clone'
|
||||||
alias rdtp='rails db:test:prepare'
|
alias rdtp='rails db:test:prepare'
|
||||||
alias rgen='rails generate'
|
alias rgen='rails generate'
|
||||||
@@ -106,6 +96,47 @@ alias rkn='rake notes'
|
|||||||
alias rksts='rake stats'
|
alias rksts='rake stats'
|
||||||
alias rkt='rake test'
|
alias rkt='rake test'
|
||||||
|
|
||||||
|
# Database tasks
|
||||||
|
#
|
||||||
|
# Rails applications can define more than one database (primary, cache, cable,
|
||||||
|
# queue, ...). Each one gets its own namespaced task, e.g. `db:migrate:cache`.
|
||||||
|
# The functions below take an optional database name as the first argument:
|
||||||
|
#
|
||||||
|
# rdm -> rails db:migrate
|
||||||
|
# rdm cache -> rails db:migrate:cache
|
||||||
|
# rdm VERSION=20231225 -> rails db:migrate VERSION=20231225
|
||||||
|
# rdm cache STEP=2 -> rails db:migrate:cache STEP=2
|
||||||
|
# rdm --trace -> rails db:migrate --trace
|
||||||
|
#
|
||||||
|
# The first argument is read as a database name only when it is a bare word.
|
||||||
|
# Flags (--trace), variables (STEP=2) and other tasks (db:seed) are passed
|
||||||
|
# through to rails untouched, so the previous alias behavior still works.
|
||||||
|
function _rails_db_command() {
|
||||||
|
local task="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
if [[ $# -gt 0 && "$1" != -* && "$1" != *=* && "$1" != *:* ]]; then
|
||||||
|
task="$task:$1"
|
||||||
|
shift
|
||||||
|
# Echo the resolved task so it is clear which database is being used
|
||||||
|
local -a cmd=(rails "$task" "$@")
|
||||||
|
print -u2 -r -- "Running: ${cmd[*]}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rails "$task" "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
function rdc() { _rails_db_command db:create "$@" }
|
||||||
|
function rdd() { _rails_db_command db:drop "$@" }
|
||||||
|
function rdm() { _rails_db_command db:migrate "$@" }
|
||||||
|
function rdmd() { _rails_db_command db:migrate:down "$@" }
|
||||||
|
function rdmr() { _rails_db_command db:migrate:redo "$@" }
|
||||||
|
function rdms() { _rails_db_command db:migrate:status "$@" }
|
||||||
|
function rdmu() { _rails_db_command db:migrate:up "$@" }
|
||||||
|
function rdr() { _rails_db_command db:rollback "$@" }
|
||||||
|
function rdrs() { _rails_db_command db:reset "$@" }
|
||||||
|
function rdsl() { _rails_db_command db:schema:load "$@" }
|
||||||
|
|
||||||
# legacy stuff
|
# legacy stuff
|
||||||
alias sc='ruby script/console'
|
alias sc='ruby script/console'
|
||||||
alias sd='ruby script/destroy'
|
alias sd='ruby script/destroy'
|
||||||
|
|||||||
@@ -10,7 +10,11 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_rbw" ]]; then
|
|||||||
_comps[rbw]=_rbw
|
_comps[rbw]=_rbw
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rbw gen-completions zsh >| "$ZSH_CACHE_DIR/completions/_rbw" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_rbw"
|
||||||
|
zf_mv -f -- =( rbw gen-completions zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|
||||||
# rbwpw function copies the password of a service to the clipboard
|
# rbwpw function copies the password of a service to the clipboard
|
||||||
# and clears it after 20 seconds
|
# and clears it after 20 seconds
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_rclone" ]]; then
|
|||||||
_comps[rclone]=_rclone
|
_comps[rclone]=_rclone
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rclone completion zsh - >| "$ZSH_CACHE_DIR/completions/_rclone" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_rclone"
|
||||||
|
zf_mv -f -- =( rclone completion zsh - ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# ruff plugin
|
||||||
|
|
||||||
|
This plugin automatically installs [ruff](https://github.com/astral-sh/ruff)'s completions for you,
|
||||||
|
and keeps them up to date. It also adds convenient aliases for common usage.
|
||||||
|
|
||||||
|
To use it, add `ruff` to the plugins array in your zshrc file:
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
plugins=(... ruff)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Aliases
|
||||||
|
|
||||||
|
| Alias | Command | Description |
|
||||||
|
| :---- | -------------------- | :----------------------------------------------------------- |
|
||||||
|
| ruc | `ruff check` | Run Ruff linter on the given files or directories |
|
||||||
|
| rucf | `ruff check --fix` | Run Ruff linter and fix auto-fixable issues |
|
||||||
|
| ruf | `ruff format` | Run the Ruff formatter on the given files or directories |
|
||||||
|
| rufc | `ruff format --check`| Check if files are already formatted without making changes |
|
||||||
|
| rur | `ruff rule` | Explain a rule (or all rules) |
|
||||||
|
| rul | `ruff linter` | List all supported upstream linters |
|
||||||
|
| rucl | `ruff clean` | Clear any caches in the current directory and subdirectories |
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
# Return immediately if ruff is not found
|
||||||
|
if (( ! ${+commands[ruff]} )); then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
alias ruc='ruff check'
|
||||||
|
alias rucf='ruff check --fix'
|
||||||
|
alias ruf='ruff format'
|
||||||
|
alias rufc='ruff format --check'
|
||||||
|
alias rur='ruff rule'
|
||||||
|
alias rul='ruff linter'
|
||||||
|
alias rucl='ruff clean'
|
||||||
|
|
||||||
|
# If the completion file doesn't exist yet, we need to autoload it and
|
||||||
|
# bind it. Otherwise, compinit will have already done that.
|
||||||
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_ruff" ]]; then
|
||||||
|
typeset -g -A _comps
|
||||||
|
autoload -Uz _ruff
|
||||||
|
_comps[ruff]=_ruff
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Overwrites the file each time as completions might change with ruff versions.
|
||||||
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_ruff"
|
||||||
|
zf_mv -f -- =( ruff generate-shell-completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
@@ -19,7 +19,11 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_rustup" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Generate completion files in the background
|
# Generate completion files in the background
|
||||||
rustup completions zsh >| "$ZSH_CACHE_DIR/completions/_rustup" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_rustup"
|
||||||
|
zf_mv -f -- =( rustup completions zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
cat >| "$ZSH_CACHE_DIR/completions/_cargo" <<'EOF'
|
cat >| "$ZSH_CACHE_DIR/completions/_cargo" <<'EOF'
|
||||||
#compdef cargo
|
#compdef cargo
|
||||||
source "$(rustup run ${${(z)$(rustup default)}[1]} rustc --print sysroot)"/share/zsh/site-functions/_cargo
|
source "$(rustup run ${${(z)$(rustup default)}[1]} rustc --print sysroot)"/share/zsh/site-functions/_cargo
|
||||||
|
|||||||
@@ -12,7 +12,11 @@ function install_autocompletion {
|
|||||||
_comps[$1]=_$1
|
_comps[$1]=_$1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$1 completion zsh >| "$ZSH_CACHE_DIR/completions/_$1" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_$1"
|
||||||
|
zf_mv -f -- =( $1 completion zsh ) "$TMPPREFIX"
|
||||||
|
} "$1" &|
|
||||||
}
|
}
|
||||||
|
|
||||||
install_autocompletion cosign
|
install_autocompletion cosign
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_skaffold" ]]; then
|
|||||||
_comps[skaffold]=_skaffold
|
_comps[skaffold]=_skaffold
|
||||||
fi
|
fi
|
||||||
|
|
||||||
skaffold completion zsh >| "$ZSH_CACHE_DIR/completions/_skaffold" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_skaffold"
|
||||||
|
zf_mv -f -- =( skaffold completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -101,10 +101,18 @@ if zstyle -t :omz:plugins:ssh-agent agent-forwarding \
|
|||||||
&& [[ -n "$SSH_AUTH_SOCK" ]]; then
|
&& [[ -n "$SSH_AUTH_SOCK" ]]; then
|
||||||
if [[ ! -L "$SSH_AUTH_SOCK" ]]; then
|
if [[ ! -L "$SSH_AUTH_SOCK" ]]; then
|
||||||
if [[ -n "$TERMUX_VERSION" ]]; then
|
if [[ -n "$TERMUX_VERSION" ]]; then
|
||||||
ln -sf "$SSH_AUTH_SOCK" "$PREFIX"/tmp/ssh-agent-$USERNAME-screen
|
_omz_ssh_agent_link="$PREFIX"/tmp/ssh-agent-$USERNAME-screen
|
||||||
else
|
else
|
||||||
ln -sf "$SSH_AUTH_SOCK" /tmp/ssh-agent-$USERNAME-screen
|
_omz_ssh_agent_link=/tmp/ssh-agent-$USERNAME-screen
|
||||||
fi
|
fi
|
||||||
|
# `ln -sf` unlinks the old symlink and then creates the new one: two
|
||||||
|
# syscalls, no atomic swap. Shells starting concurrently (a tmux window
|
||||||
|
# opening several panes at once) interleave those steps and all but one
|
||||||
|
# fail with "ln: ...: File exists". Stage the link under a PID-unique
|
||||||
|
# name and move it into place, since rename(2) is atomic.
|
||||||
|
command ln -sf "$SSH_AUTH_SOCK" "$_omz_ssh_agent_link.$$" \
|
||||||
|
&& command mv -f "$_omz_ssh_agent_link.$$" "$_omz_ssh_agent_link"
|
||||||
|
unset _omz_ssh_agent_link
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
_start_agent
|
_start_agent
|
||||||
|
|||||||
@@ -10,4 +10,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_stripe" ]]; then
|
|||||||
_comps[stripe]=_stripe
|
_comps[stripe]=_stripe
|
||||||
fi
|
fi
|
||||||
|
|
||||||
stripe completion --shell zsh --write-to-stdout >| "$ZSH_CACHE_DIR/completions/_stripe" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_stripe"
|
||||||
|
zf_mv -f -- =( stripe completion --shell zsh --write-to-stdout ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
ssm_run_sudo() {sudo $_sublime_merge_path "$@" >/dev/null 2>&1}
|
ssm_run_sudo() {sudo $_sublime_merge_path "$@" >/dev/null 2>&1}
|
||||||
alias ssm=ssm_run_sudo
|
alias ssm=ssm_run_sudo
|
||||||
alias sm=sm_run
|
alias sm=sm_run
|
||||||
|
alias smerge="'$_sublime_merge_path'"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@@ -33,6 +34,7 @@
|
|||||||
if [[ -a $_sublime_merge_path ]]; then
|
if [[ -a $_sublime_merge_path ]]; then
|
||||||
subm () { "$_sublime_merge_path" "$@" }
|
subm () { "$_sublime_merge_path" "$@" }
|
||||||
alias sm=subm
|
alias sm=subm
|
||||||
|
alias smerge="'$_sublime_merge_path'"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@@ -45,6 +47,7 @@
|
|||||||
if [[ -a $_sublime_merge_path ]]; then
|
if [[ -a $_sublime_merge_path ]]; then
|
||||||
subm () { "$_sublime_merge_path" "$@" }
|
subm () { "$_sublime_merge_path" "$@" }
|
||||||
alias sm=subm
|
alias sm=subm
|
||||||
|
alias smerge="'$_sublime_merge_path'"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -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 $?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ function consume100() {
|
|||||||
|
|
||||||
# Website traffic statistics (G)
|
# Website traffic statistics (G)
|
||||||
function webtraffic() {
|
function webtraffic() {
|
||||||
awk "{sum+=$10} END {print sum/1024/1024/1024}" "$(retlog)"
|
awk '{sum+=$10} END {print sum/1024/1024/1024}' "$(retlog)"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Statistical connections 404
|
# Statistical connections 404
|
||||||
|
|||||||
@@ -22,4 +22,8 @@ if (( $+aliases[tailscale] )); then
|
|||||||
_comps[${aliases[tailscale]:t}]=_tailscale
|
_comps[${aliases[tailscale]:t}]=_tailscale
|
||||||
fi
|
fi
|
||||||
|
|
||||||
tailscale completion zsh >| "$ZSH_CACHE_DIR/completions/_tailscale" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_tailscale"
|
||||||
|
zf_mv -f -- =( tailscale completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_task" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Generate and load task completion
|
# Generate and load task completion
|
||||||
task --completion zsh >! "$ZSH_CACHE_DIR/completions/_task" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_task"
|
||||||
|
zf_mv -f -- =( task --completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_timoni" ]]; then
|
|||||||
_comps[timoni]=_timoni
|
_comps[timoni]=_timoni
|
||||||
fi
|
fi
|
||||||
|
|
||||||
timoni completion zsh >| "$ZSH_CACHE_DIR/completions/_timoni" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_timoni"
|
||||||
|
zf_mv -f -- =( timoni completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# uv Environment Plugin
|
||||||
|
|
||||||
|
This plugin automatically activates the uv virtual environment when you cd into a project directory, and deactivates it when you cd out.
|
||||||
|
Note: Script looks for pyproject.toml and uv.lock files to determine if it's a uv project
|
||||||
|
|
||||||
|
To use it, add `uv-env` to the plugins array in your zshrc file:
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
plugins=(... uv-env)
|
||||||
|
```
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
_toggleUvShell() {
|
||||||
|
local in_uv_dir=0
|
||||||
|
if [[ -f "$PWD/pyproject.toml" && -f "$PWD/uv.lock" ]]; then
|
||||||
|
in_uv_dir=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $uv_active -eq 1 ]] && { [[ $in_uv_dir -eq 0 ]] || [[ "$PWD" != "$uv_dir" && "$PWD" != "$uv_dir"/* ]]; }; then
|
||||||
|
typeset -g uv_active=0
|
||||||
|
unset uv_dir
|
||||||
|
(( $+functions[deactivate] )) && deactivate
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $in_uv_dir -eq 1 ]] && [[ $uv_active -ne 1 ]]; then
|
||||||
|
local venv_dir="${UV_PROJECT_ENVIRONMENT:-$PWD/.venv}"
|
||||||
|
[[ "$venv_dir" != /* ]] && venv_dir="$PWD/$venv_dir"
|
||||||
|
|
||||||
|
if [[ -f "${venv_dir}/bin/activate" ]]; then
|
||||||
|
typeset -g uv_active=1
|
||||||
|
typeset -g uv_dir="$PWD"
|
||||||
|
source "${venv_dir}/bin/activate"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
autoload -Uz add-zsh-hook
|
||||||
|
add-zsh-hook chpwd _toggleUvShell
|
||||||
|
_toggleUvShell
|
||||||
@@ -43,5 +43,12 @@ fi
|
|||||||
|
|
||||||
# uv and uvx are installed together (uvx is an alias to `uv tool run`)
|
# uv and uvx are installed together (uvx is an alias to `uv tool run`)
|
||||||
# Overwrites the file each time as completions might change with uv versions.
|
# Overwrites the file each time as completions might change with uv versions.
|
||||||
uv generate-shell-completion zsh >| "$ZSH_CACHE_DIR/completions/_uv" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
uvx --generate-shell-completion zsh >| "$ZSH_CACHE_DIR/completions/_uvx" &|
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_uv"
|
||||||
|
zf_mv -f -- =( uv generate-shell-completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_uvx"
|
||||||
|
zf_mv -f -- =( uvx --generate-shell-completion zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ _box_arguments=(
|
|||||||
'help:COMMAND List subcommands'
|
'help:COMMAND List subcommands'
|
||||||
'list:Lists all installed boxes'
|
'list:Lists all installed boxes'
|
||||||
'outdated:Checks if a box has newer version'
|
'outdated:Checks if a box has newer version'
|
||||||
|
'prune:Removes old versions of installed boxes'
|
||||||
'remove:NAME Removes a box from the system'
|
'remove:NAME Removes a box from the system'
|
||||||
'repackage:NAME PROVIDER VERSION Repackages an installed box into a `.box` file'
|
'repackage:NAME PROVIDER VERSION Repackages an installed box into a `.box` file'
|
||||||
'update:Updates box to a newer version, if available'
|
'update:Updates box to a newer version, if available'
|
||||||
@@ -126,7 +127,7 @@ case $state in
|
|||||||
(box)
|
(box)
|
||||||
__vagrant-box
|
__vagrant-box
|
||||||
;;
|
;;
|
||||||
(up|provision|port|package|destroy|reload|ssh|ssh-config|halt|resume|status)
|
(up|provision|port|package|destroy|reload|ssh|ssh-config|halt|resume|status|suspend|rdp)
|
||||||
_arguments ':feature:__vm_list'
|
_arguments ':feature:__vm_list'
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ if [[ ! $DISABLE_VENV_CD -eq 1 ]]; then
|
|||||||
# Get absolute path, resolving symlinks
|
# Get absolute path, resolving symlinks
|
||||||
local PROJECT_ROOT="${PWD:A}"
|
local PROJECT_ROOT="${PWD:A}"
|
||||||
while [[ "$PROJECT_ROOT" != "/" && ! -e "$PROJECT_ROOT/.venv" \
|
while [[ "$PROJECT_ROOT" != "/" && ! -e "$PROJECT_ROOT/.venv" \
|
||||||
&& ! -d "$PROJECT_ROOT/.git" ]]; do
|
&& ! -e "$PROJECT_ROOT/.git" ]]; do
|
||||||
PROJECT_ROOT="${PROJECT_ROOT:h}"
|
PROJECT_ROOT="${PROJECT_ROOT:h}"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_volta" ]]; then
|
|||||||
_comps[volta]=_volta
|
_comps[volta]=_volta
|
||||||
fi
|
fi
|
||||||
|
|
||||||
volta completions zsh >| "$ZSH_CACHE_DIR/completions/_volta" &|
|
zmodload -F zsh/files b:zf_mv
|
||||||
|
() {
|
||||||
|
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_volta"
|
||||||
|
zf_mv -f -- =( volta completions zsh ) "$TMPPREFIX"
|
||||||
|
} &|
|
||||||
|
|||||||
@@ -51,6 +51,11 @@ Available search contexts are:
|
|||||||
| `npmpkg` | `https://www.npmjs.com/search?q=` |
|
| `npmpkg` | `https://www.npmjs.com/search?q=` |
|
||||||
| `packagist` | `https://packagist.org/?query=` |
|
| `packagist` | `https://packagist.org/?query=` |
|
||||||
| `gopkg` | `https://pkg.go.dev/search?m=package&q=` |
|
| `gopkg` | `https://pkg.go.dev/search?m=package&q=` |
|
||||||
|
| `maven` | `https://central.sonatype.com/search?q=` |
|
||||||
|
| `pypi` | `https://pypi.org/search/?q=` |
|
||||||
|
| `aur` | `https://aur.archlinux.org/packages?O=0&K=` |
|
||||||
|
| `archwiki` | `https://wiki.archlinux.org/index.php?search=` |
|
||||||
|
| `wikipedia` | `https://en.wikipedia.org/w/index.php?search=` |
|
||||||
| `chatgpt` | `https://chatgpt.com/?q=` |
|
| `chatgpt` | `https://chatgpt.com/?q=` |
|
||||||
| `claudeai` | `https://claude.ai/new?q=` |
|
| `claudeai` | `https://claude.ai/new?q=` |
|
||||||
| `grokcom` | `https://grok.com/?q=` |
|
| `grokcom` | `https://grok.com/?q=` |
|
||||||
|
|||||||
@@ -32,6 +32,11 @@ function web_search() {
|
|||||||
npmpkg "https://www.npmjs.com/search?q="
|
npmpkg "https://www.npmjs.com/search?q="
|
||||||
packagist "https://packagist.org/?query="
|
packagist "https://packagist.org/?query="
|
||||||
gopkg "https://pkg.go.dev/search?m=package&q="
|
gopkg "https://pkg.go.dev/search?m=package&q="
|
||||||
|
maven "https://central.sonatype.com/search?q="
|
||||||
|
pypi "https://pypi.org/search/?q="
|
||||||
|
aur "https://aur.archlinux.org/packages?O=0&K="
|
||||||
|
archwiki "https://wiki.archlinux.org/index.php?search="
|
||||||
|
wikipedia "https://en.wikipedia.org/w/index.php?search="
|
||||||
chatgpt "https://chatgpt.com/?q="
|
chatgpt "https://chatgpt.com/?q="
|
||||||
grok "https://grok.com/?q="
|
grok "https://grok.com/?q="
|
||||||
claudeai "https://claude.ai/new?q="
|
claudeai "https://claude.ai/new?q="
|
||||||
@@ -92,6 +97,11 @@ alias gems='web_search gems'
|
|||||||
alias npmpkg='web_search npmpkg'
|
alias npmpkg='web_search npmpkg'
|
||||||
alias packagist='web_search packagist'
|
alias packagist='web_search packagist'
|
||||||
alias gopkg='web_search gopkg'
|
alias gopkg='web_search gopkg'
|
||||||
|
alias maven='web_search maven'
|
||||||
|
alias pypi='web_search pypi'
|
||||||
|
alias aur='web_search aur'
|
||||||
|
alias archwiki='web_search archwiki'
|
||||||
|
alias wikipedia='web_search wikipedia'
|
||||||
alias chatgpt='web_search chatgpt'
|
alias chatgpt='web_search chatgpt'
|
||||||
alias grokcom='web_search grok'
|
alias grokcom='web_search grok'
|
||||||
alias claudeai='web_search claudeai'
|
alias claudeai='web_search claudeai'
|
||||||
@@ -116,4 +126,3 @@ if [[ ${#ZSH_WEB_SEARCH_ENGINES} -gt 0 ]]; then
|
|||||||
done
|
done
|
||||||
unset engines key
|
unset engines key
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ export LSCOLORS=dxFxCxDxBxegedabagacad
|
|||||||
|
|
||||||
local git_branch='$(git_prompt_info)%{$reset_color%}$(git_remote_status)'
|
local git_branch='$(git_prompt_info)%{$reset_color%}$(git_remote_status)'
|
||||||
|
|
||||||
PROMPT="%{$fg[green]%}╭─%n@%m %{$reset_color%}%{$fg[yellow]%}in %~ %{$reset_color%}${git_branch}
|
PROMPT="%{%(#~$fg[red]~$fg[green])%}╭─%n@%m %{$reset_color%}%{$fg[yellow]%}in %~ %{$reset_color%}${git_branch}
|
||||||
%{$fg[green]%}╰\$ %{$reset_color%}"
|
%{%(#~$fg[red]~$fg[green])%}╰%(#~#~\$) %{$reset_color%}"
|
||||||
|
|
||||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[yellow]%}on "
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[yellow]%}on "
|
||||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||||
|
|||||||
+2
-2
@@ -221,12 +221,12 @@ supports_hyperlinks() {
|
|||||||
|
|
||||||
# If $TERM_PROGRAM is set, these terminals support hyperlinks
|
# If $TERM_PROGRAM is set, these terminals support hyperlinks
|
||||||
case "$TERM_PROGRAM" in
|
case "$TERM_PROGRAM" in
|
||||||
Hyper|iTerm.app|terminology|WezTerm|vscode) return 0 ;;
|
ghostty|Hyper|iTerm.app|terminology|vscode|WezTerm) return 0 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# These termcap entries support hyperlinks
|
# These termcap entries support hyperlinks
|
||||||
case "$TERM" in
|
case "$TERM" in
|
||||||
xterm-kitty|alacritty|alacritty-direct) return 0 ;;
|
alacritty|alacritty-direct|xterm-ghostty|xterm-kitty) return 0 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# xfce4-terminal supports hyperlinks
|
# xfce4-terminal supports hyperlinks
|
||||||
|
|||||||
@@ -23,12 +23,32 @@ zstyle -s ':omz:update' mode update_mode || {
|
|||||||
# - the automatic update is disabled
|
# - the automatic update is disabled
|
||||||
# - the current user doesn't have write permissions nor owns the $ZSH directory
|
# - the current user doesn't have write permissions nor owns the $ZSH directory
|
||||||
# - is not run from a tty
|
# - is not run from a tty
|
||||||
# - git is unavailable on the system
|
|
||||||
# - $ZSH is not a git repository
|
|
||||||
if [[ "$update_mode" = disabled ]] \
|
if [[ "$update_mode" = disabled ]] \
|
||||||
|| [[ ! -w "$ZSH" || ! -O "$ZSH" ]] \
|
|| [[ ! -w "$ZSH" || ! -O "$ZSH" ]] \
|
||||||
|| [[ ! -t 1 && ${POWERLEVEL9K_INSTANT_PROMPT:-off} == off ]] \
|
|| [[ ! -t 1 && ${POWERLEVEL9K_INSTANT_PROMPT:-off} == off ]]; then
|
||||||
|| ! command git --version 2>&1 >/dev/null \
|
unset update_mode
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Cancel update if it's not time to check yet. This runs before the git checks
|
||||||
|
# below because those fork on every startup. Skipped when a background update
|
||||||
|
# left a result that still needs to be reported (EXIT_STATUS is set).
|
||||||
|
() {
|
||||||
|
local LAST_EPOCH EXIT_STATUS ERROR epoch_target
|
||||||
|
zmodload zsh/datetime
|
||||||
|
source "${ZSH_CACHE_DIR}/.zsh-update" 2>/dev/null || return 1
|
||||||
|
[[ -n "$LAST_EPOCH" && -z "$EXIT_STATUS" ]] || return 1
|
||||||
|
zstyle -s ':omz:update' frequency epoch_target || epoch_target=${UPDATE_ZSH_DAYS:-13}
|
||||||
|
(( ( EPOCHSECONDS / 60 / 60 / 24 - LAST_EPOCH ) < epoch_target ))
|
||||||
|
} && {
|
||||||
|
unset update_mode
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
# Cancel update if:
|
||||||
|
# - git is unavailable on the system
|
||||||
|
# - $ZSH is not a git repository
|
||||||
|
if ! command git --version >/dev/null 2>&1 \
|
||||||
|| (builtin cd -q "$ZSH"; ! command git rev-parse --is-inside-work-tree &>/dev/null); then
|
|| (builtin cd -q "$ZSH"; ! command git rev-parse --is-inside-work-tree &>/dev/null); then
|
||||||
unset update_mode
|
unset update_mode
|
||||||
return
|
return
|
||||||
|
|||||||
+31
-8
@@ -49,9 +49,31 @@ USER=${USER:-$(id -u -n)}
|
|||||||
# $HOME is defined at the time of login, but it could be unset. If it is unset,
|
# $HOME is defined at the time of login, but it could be unset. If it is unset,
|
||||||
# a tilde by itself (~) will not be expanded to the current user's home directory.
|
# a tilde by itself (~) will not be expanded to the current user's home directory.
|
||||||
# POSIX: https://pubs.opengroup.org/onlinepubs/009696899/basedefs/xbd_chap08.html#tag_08_03
|
# POSIX: https://pubs.opengroup.org/onlinepubs/009696899/basedefs/xbd_chap08.html#tag_08_03
|
||||||
HOME="${HOME:-$(getent passwd $USER 2>/dev/null | cut -d: -f6)}"
|
if [ -z "$HOME" ]; then
|
||||||
# macOS does not have getent, but this works even if $HOME is unset
|
HOME=$(getent passwd "$USER" 2>/dev/null | cut -d: -f6)
|
||||||
HOME="${HOME:-$(eval echo ~"$USER")}"
|
|
||||||
|
# macOS does not have getent; fall back to tilde expansion, but only if
|
||||||
|
# $USER is a safe username. The eval below would otherwise expand any shell
|
||||||
|
# metacharacters in $USER and allow command injection (CWE-78).
|
||||||
|
case "$USER" in
|
||||||
|
*[![:alnum:]_.-]*|'')
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
resolved_home=$(eval echo ~"$USER")
|
||||||
|
# Unknown users are not expanded and produce a literal "~username".
|
||||||
|
[ "$resolved_home" = "~$USER" ] || HOME=$resolved_home
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case "$HOME" in
|
||||||
|
/*) ;;
|
||||||
|
*)
|
||||||
|
echo "Error: unable to determine the current user's home directory." >&2
|
||||||
|
echo "Set HOME explicitly and rerun the installer." >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Track if $ZSH was provided
|
# Track if $ZSH was provided
|
||||||
@@ -168,12 +190,12 @@ supports_hyperlinks() {
|
|||||||
|
|
||||||
# If $TERM_PROGRAM is set, these terminals support hyperlinks
|
# If $TERM_PROGRAM is set, these terminals support hyperlinks
|
||||||
case "$TERM_PROGRAM" in
|
case "$TERM_PROGRAM" in
|
||||||
Hyper|iTerm.app|terminology|WezTerm|vscode) return 0 ;;
|
ghostty|Hyper|iTerm.app|terminology|vscode|WezTerm) return 0 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# These termcap entries support hyperlinks
|
# These termcap entries support hyperlinks
|
||||||
case "$TERM" in
|
case "$TERM" in
|
||||||
xterm-kitty|alacritty|alacritty-direct) return 0 ;;
|
alacritty|alacritty-direct|xterm-ghostty|xterm-kitty) return 0 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# xfce4-terminal supports hyperlinks
|
# xfce4-terminal supports hyperlinks
|
||||||
@@ -506,9 +528,10 @@ print_success() {
|
|||||||
"$(fmt_code "$(fmt_link ".zshrc" "file://$zdot/.zshrc" --text)")" \
|
"$(fmt_code "$(fmt_link ".zshrc" "file://$zdot/.zshrc" --text)")" \
|
||||||
"file to select plugins, themes, and options."
|
"file to select plugins, themes, and options."
|
||||||
printf '\n'
|
printf '\n'
|
||||||
printf '%s\n' "• Follow us on X: $(fmt_link @ohmyzsh https://x.com/ohmyzsh)"
|
printf '%s\n' "• Follow along on X ($(fmt_link @ohmyzsh https://x.com/ohmyzsh)) or Bluesky ($(fmt_link @ohmyz.sh https://bsky.app/profile/ohmyz.sh))"
|
||||||
printf '%s\n' "• Join our Discord community: $(fmt_link "Discord server" https://discord.gg/ohmyzsh)"
|
printf '%s\n' "• Questions or ideas? Join the community on $(fmt_link Discord https://discord.gg/ohmyzsh)"
|
||||||
printf '%s\n' "• Get stickers, t-shirts, coffee mugs and more: $(fmt_link "CommitGoods Shop" https://commitgoods.com/collections/oh-my-zsh)"
|
printf '%s\n' "• Help support the project: sponsor us on $(fmt_link "Open Collective" https://opencollective.com/ohmyzsh),"
|
||||||
|
printf '%s\n' " or grab stickers, shirts, and swag from $(fmt_link CommitGoods https://commitgoods.com/ohmyzsh)"
|
||||||
printf '%s\n' $FMT_RESET
|
printf '%s\n' $FMT_RESET
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+14
-5
@@ -95,12 +95,12 @@ supports_hyperlinks() {
|
|||||||
|
|
||||||
# If $TERM_PROGRAM is set, these terminals support hyperlinks
|
# If $TERM_PROGRAM is set, these terminals support hyperlinks
|
||||||
case "$TERM_PROGRAM" in
|
case "$TERM_PROGRAM" in
|
||||||
Hyper|iTerm.app|terminology|WezTerm|vscode) return 0 ;;
|
ghostty|Hyper|iTerm.app|terminology|vscode|WezTerm) return 0 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# These termcap entries support hyperlinks
|
# These termcap entries support hyperlinks
|
||||||
case "$TERM" in
|
case "$TERM" in
|
||||||
xterm-kitty|alacritty|alacritty-direct) return 0 ;;
|
alacritty|alacritty-direct|xterm-ghostty|xterm-kitty) return 0 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# xfce4-terminal supports hyperlinks
|
# xfce4-terminal supports hyperlinks
|
||||||
@@ -271,9 +271,18 @@ if LANG= git pull --quiet --rebase $remote $branch; then
|
|||||||
printf '%s %s %s %s /____/ %s %s %s %s\n' $RAINBOW $RESET
|
printf '%s %s %s %s /____/ %s %s %s %s\n' $RAINBOW $RESET
|
||||||
printf '\n'
|
printf '\n'
|
||||||
printf "${BLUE}%s${RESET}\n\n" "$message"
|
printf "${BLUE}%s${RESET}\n\n" "$message"
|
||||||
printf "${BLUE}${BOLD}%s %s${RESET}\n" "To keep up with the latest news and updates, follow us on X:" "$(fmt_link @ohmyzsh https://x.com/ohmyzsh)"
|
printf "${BLUE}${BOLD}%s %s %s %s${RESET}\n" \
|
||||||
printf "${BLUE}${BOLD}%s %s${RESET}\n" "Want to get involved in the community? Join our Discord:" "$(fmt_link "Discord server" https://discord.gg/ohmyzsh)"
|
"Follow along on X" "($(fmt_link @ohmyzsh https://x.com/ohmyzsh))" \
|
||||||
printf "${BLUE}${BOLD}%s %s${RESET}\n" "Get your Oh My Zsh swag at:" "$(fmt_link "CommitGoods Shop" https://commitgoods.com/collections/oh-my-zsh)"
|
"or Bluesky" "($(fmt_link @ohmyz.sh https://bsky.app/profile/ohmyz.sh))"
|
||||||
|
printf "${BLUE}${BOLD}%s %s${RESET}\n" \
|
||||||
|
"Questions or ideas? Join the community on" \
|
||||||
|
"$(fmt_link Discord https://discord.gg/ohmyzsh)"
|
||||||
|
printf "${BLUE}${BOLD}%s %s,${RESET}\n" \
|
||||||
|
"Help support the project: sponsor us on" \
|
||||||
|
"$(fmt_link "Open Collective" https://opencollective.com/ohmyzsh)"
|
||||||
|
printf "${BLUE}${BOLD}%s %s${RESET}\n" \
|
||||||
|
"or grab stickers, shirts, and swag from" \
|
||||||
|
"$(fmt_link CommitGoods https://commitgoods.com/ohmyzsh)"
|
||||||
elif [[ $verbose_mode == minimal ]]; then
|
elif [[ $verbose_mode == minimal ]]; then
|
||||||
printf "${BLUE}%s${RESET}\n" "$message"
|
printf "${BLUE}%s${RESET}\n" "$message"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user