Compare commits

..
Author SHA1 Message Date
Robby Russell d65cdc7d37 fix(updater): follow first-parent history for cooldown 2026-09-08 16:21:10 -07:00
Robby Russell e872c661ad fix(updater): address cooldown review feedback
Pass cooldown into upgrade.sh as -c, extract the update helpers, and only
prompt when a cooldown-eligible commit would actually move HEAD.
2026-09-08 16:11:32 -07:00
Robby Russell 84429a7229 feat(updater): add cooldown option to delay applying updates (#13813)
Introduces a new `zstyle ':omz:update' cooldown <days>` setting that limits
the updater to only apply commits that are at least N days old. Defaults to 0
(current behavior — always pull latest).

When cooldown is set, the updater fetches the remote branch and finds the most
recent commit whose committer timestamp is at least N days old, then applies it
via `git merge --ff-only`. If the local copy is already at or past the cooldown
ref, nothing changes.

- tools/upgrade.sh: reads cooldown zstyle, replaces git pull with fetch +
  merge --ff-only when cooldown > 0
- README.md: documents the new setting under "Getting Updates"
- templates/zshrc.zsh-template: adds commented-out cooldown example alongside
  frequency, with rephrased comments to clarify how the two work together
2026-06-12 11:34:27 -07:00
142 changed files with 684 additions and 2494 deletions
-14
View File
@@ -6,23 +6,9 @@ updates:
interval: "weekly" interval: "weekly"
day: "sunday" day: "sunday"
labels: [] labels: []
groups:
gha-minor:
patterns:
- "*"
update-types:
- minor
- patch
- package-ecosystem: "pip" - package-ecosystem: "pip"
directory: "/.github/workflows/dependencies" directory: "/.github/workflows/dependencies"
schedule: schedule:
interval: "weekly" interval: "weekly"
day: "sunday" day: "sunday"
labels: [] labels: []
groups:
py-minor:
patterns:
- "*"
update-types:
- minor
- patch
+2 -3
View File
@@ -12,7 +12,7 @@ dependencies:
plugins/gradle: plugins/gradle:
repo: gradle/gradle-completion repo: gradle/gradle-completion
branch: master branch: master
version: e7c881dbef7462bc35ad05328397e1582fe25cb8 version: d8bc301a1fdeed8dc1dd9675138e1d9b7ddc5e4e
precopy: | precopy: |
set -e set -e
find . ! -name _gradle ! -name LICENSE -delete find . ! -name _gradle ! -name LICENSE -delete
@@ -46,10 +46,9 @@ dependencies:
plugins/z: plugins/z:
branch: master branch: master
repo: agkozak/zsh-z repo: agkozak/zsh-z
version: 102fb78036ed76feedf623907483691777a1d510 version: acd0e1984df350c189f8f9c4956ec586b6c73fca
precopy: | precopy: |
set -e set -e
rm -r tests
test -e README.md && mv -f README.md MANUAL.md test -e README.md && mv -f README.md MANUAL.md
postcopy: | postcopy: |
set -e set -e
+3 -3
View File
@@ -16,12 +16,12 @@ 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@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1 uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with: with:
egress-policy: audit egress-policy: audit
- name: Checkout - name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Authenticate as @ohmyzsh - name: Authenticate as @ohmyzsh
@@ -31,7 +31,7 @@ jobs:
client-id: ${{ secrets.OHMYZSH_CLIENT_ID }} client-id: ${{ secrets.OHMYZSH_CLIENT_ID }}
private-key: ${{ secrets.OHMYZSH_APP_PRIVATE_KEY }} private-key: ${{ secrets.OHMYZSH_APP_PRIVATE_KEY }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with: with:
python-version: "3.12" python-version: "3.12"
cache: "pip" cache: "pip"
@@ -1,6 +1,6 @@
certifi==2026.7.22 certifi==2026.4.22
charset-normalizer==3.5.1 charset-normalizer==3.4.7
idna==3.19 idna==3.15
PyYAML==6.0.3 PyYAML==6.0.3
requests==2.34.2 requests==2.34.2
semver==3.0.4 semver==3.0.4
+4 -4
View File
@@ -26,12 +26,12 @@ 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@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1 uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with: with:
egress-policy: audit egress-policy: audit
- name: Set up git repository - name: Set up git repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Install zsh - name: Install zsh
if: runner.os == 'Linux' if: runner.os == 'Linux'
run: sudo apt-get update; sudo apt-get install zsh run: sudo apt-get update; sudo apt-get install zsh
@@ -47,12 +47,12 @@ 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@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1 uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with: with:
egress-policy: audit egress-policy: audit
- name: Checkout - name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Install Vercel CLI - name: Install Vercel CLI
run: npm install -g vercel run: npm install -g vercel
- name: Setup project and deploy - name: Setup project and deploy
+2 -2
View File
@@ -24,12 +24,12 @@ 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@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1 uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with: with:
egress-policy: audit egress-policy: audit
- name: Set up git repository - name: Set up git repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Install zsh - name: Install zsh
run: sudo apt-get update; sudo apt-get install zsh run: sudo apt-get update; sudo apt-get install zsh
- name: Check syntax - name: Check syntax
+1 -1
View File
@@ -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@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1 uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with: with:
egress-policy: audit egress-policy: audit
- name: Authenticate as @ohmyzsh - name: Authenticate as @ohmyzsh
+4 -4
View File
@@ -36,17 +36,17 @@ jobs:
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1 uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with: with:
egress-policy: audit egress-policy: audit
- name: "Checkout code" - name: "Checkout code"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with: with:
persist-credentials: false persist-credentials: false
- name: "Run analysis" - name: "Run analysis"
uses: ossf/scorecard-action@2d1146689b8cda280b9bc96326124645441f03bc # v2.4.4 uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
with: with:
results_file: results.sarif results_file: results.sarif
results_format: sarif results_format: sarif
@@ -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@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9 uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
with: with:
sarif_file: results.sarif sarif_file: results.sarif
+16 -8
View File
@@ -23,14 +23,6 @@ Twitter), and join us on [Discord](https://discord.gg/ohmyzsh).
[![Mastodon Follow](https://img.shields.io/mastodon/follow/111169632522566717?label=%40ohmyzsh&domain=https%3A%2F%2Fmstdn.social&logo=mastodon&style=flat)](https://mstdn.social/@ohmyzsh) [![Mastodon Follow](https://img.shields.io/mastodon/follow/111169632522566717?label=%40ohmyzsh&domain=https%3A%2F%2Fmstdn.social&logo=mastodon&style=flat)](https://mstdn.social/@ohmyzsh)
[![Discord server](https://img.shields.io/discord/642496866407284746)](https://discord.gg/ohmyzsh) [![Discord server](https://img.shields.io/discord/642496866407284746)](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>
@@ -474,6 +466,22 @@ zstyle ':omz:update' frequency 7
zstyle ':omz:update' frequency 0 zstyle ':omz:update' frequency 0
``` ```
By default, updates always pull the latest changes. If you'd rather let others kick the tires first
before an update reaches your machine, you can set a cooldown (in days). You'll still get everything —
just a little later:
```sh
# Only apply updates that are at least 10 days old
zstyle ':omz:update' cooldown 10
```
`omz update` honors this setting. If you call `upgrade.sh` directly, pass the same
value with `-c`, because that script does not read your `.zshrc`:
```sh
$ZSH/tools/upgrade.sh -c 10
```
### Updates Verbosity ### Updates Verbosity
You can also limit the update verbosity with the following settings: You can also limit the update verbosity with the following settings:
+6 -3
View File
@@ -371,7 +371,7 @@ multi == 1 && /^[^#]*\)/ {
next next
} }
# if multi flag is enabled and we didn't find a closing parenthesis, # if multi flag is enabled and we didnt find a closing parenthesis,
# get the indentation level to match when adding plugins # get the indentation level to match when adding plugins
multi == 1 && /^[^#]*/ { multi == 1 && /^[^#]*/ {
indent=\"\" indent=\"\"
@@ -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 )) || has_completion=$(( $#comp_files > 0 )) 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
@@ -903,8 +903,11 @@ function _omz::update {
} }
# Run update script # Run update script
local verbose_mode cooldown_days
zstyle -s ':omz:update' verbose verbose_mode || verbose_mode=default zstyle -s ':omz:update' verbose verbose_mode || verbose_mode=default
ZSH="$ZSH" command zsh -f "$ZSH/tools/upgrade.sh" -i -v $verbose_mode || return $? zstyle -s ':omz:update' cooldown cooldown_days || cooldown_days=0
[[ $cooldown_days == <-> ]] || cooldown_days=0
ZSH="$ZSH" command zsh -f "$ZSH/tools/upgrade.sh" -i -v $verbose_mode -c $cooldown_days || return $?
# Update last updated file # Update last updated file
zmodload zsh/datetime zmodload zsh/datetime
+1 -1
View File
@@ -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_words+=( declare export integer float local readonly typeset ) reserved_word+=( 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
+5 -25
View File
@@ -39,26 +39,6 @@ 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}"
} }
# Match an extended regular expression against a subject, forcing the C locale
# only for the duration of the call.
#
# OHMYZSH-13330: zsh's "=~" operator delegates to the C library regex, which
# aborts with REG_ILLSEQ when the subject contains an invalid byte sequence
# under a multibyte locale (e.g. a filename with non-UTF-8 bytes in `git
# status` output). Forcing the C locale makes every byte a valid character,
# 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
[[ "$1" =~ "$2" ]]
}
function _omz_git_prompt_status() { 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
@@ -124,11 +104,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 _omz_git_prompt_status_match "$status_lines[1]" "^## [^ ]+ \[(.*)\]"; then if [[ "$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 ! _omz_git_prompt_status_match "$branch_status" "(behind|diverged|ahead) ([0-9]+)?"; then if [[ ! $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]]
@@ -141,7 +121,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 _omz_git_prompt_status_match "$status_text" "$status_regex"; then if [[ "$status_text" =~ $status_regex ]]; then
statuses_seen[$status_constant]=1 statuses_seen[$status_constant]=1
fi fi
done done
@@ -182,13 +162,13 @@ if zstyle -t ':omz:alpha:lib:git' async-prompt \
# or any of the other prompt variables # or any of the other prompt variables
function _defer_async_git_register() { function _defer_async_git_register() {
# Check if git_prompt_info is used in a prompt variable # Check if git_prompt_info is used in a prompt variable
case "${PS1}:${PS2}:${PS3}:${PS4}:${RPROMPT-}:${RPS1-}:${RPS2-}:${RPS3-}:${RPS4-}" in case "${PS1}:${PS2}:${PS3}:${PS4}:${RPROMPT}:${RPS1}:${RPS2}:${RPS3}:${RPS4}" in
*(\$\(git_prompt_info\)|\`git_prompt_info\`)*) *(\$\(git_prompt_info\)|\`git_prompt_info\`)*)
_omz_register_handler _omz_git_prompt_info _omz_register_handler _omz_git_prompt_info
;; ;;
esac esac
case "${PS1}:${PS2}:${PS3}:${PS4}:${RPROMPT-}:${RPS1-}:${RPS2-}:${RPS3-}:${RPS4-}" in case "${PS1}:${PS2}:${PS3}:${PS4}:${RPROMPT}:${RPS1}:${RPS2}:${RPS3}:${RPS4}" in
*(\$\(git_prompt_status\)|\`git_prompt_status\`)*) *(\$\(git_prompt_status\)|\`git_prompt_status\`)*)
_omz_register_handler _omz_git_prompt_status _omz_register_handler _omz_git_prompt_status
;; ;;
-1
View File
@@ -21,7 +21,6 @@ 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
} }
+8 -20
View File
@@ -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
[[ -d "$ZSH_CACHE_DIR/completions" ]] || mkdir -p "$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,17 +114,9 @@ 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
zcompdump_refresh=0 if ! command grep -q -Fx "$zcompdump_revision" "$ZSH_COMPDUMP" 2>/dev/null \
if ! _omz_compdump_has_metadata; then || ! command grep -q -Fx "$zcompdump_fpath" "$ZSH_COMPDUMP" 2>/dev/null; then
command rm -f "$ZSH_COMPDUMP" command rm -f "$ZSH_COMPDUMP"
zcompdump_refresh=1 zcompdump_refresh=1
fi fi
@@ -132,18 +124,17 @@ fi
if [[ "$ZSH_DISABLE_COMPFIX" != true ]]; then if [[ "$ZSH_DISABLE_COMPFIX" != true ]]; then
source "$ZSH/lib/compfix.zsh" source "$ZSH/lib/compfix.zsh"
# Load only from secure directories # Load only from secure directories
# Reset the flag compinit sets when -i excludes insecure entries
unset _comp_secure
compinit -i -d "$ZSH_COMPDUMP" compinit -i -d "$ZSH_COMPDUMP"
# If completion insecurities exist, warn the user # If completion insecurities exist, warn the user
[[ "$_comp_secure" == yes ]] && handle_completion_insecurities &| handle_completion_insecurities &|
else else
# If the user wants it, load from all found directories # If the user wants it, load from all found directories
compinit -u -d "$ZSH_COMPDUMP" compinit -u -d "$ZSH_COMPDUMP"
fi fi
# Append zcompdump metadata if missing (compinit may have regenerated the file) # Append zcompdump metadata if missing
if (( zcompdump_refresh )) || ! _omz_compdump_has_metadata; then if (( $zcompdump_refresh )) \
|| ! 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
@@ -153,12 +144,9 @@ $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.
# Test that first so the lock directory and zrecompile are skipped when it's fresh. if command mkdir "${ZSH_COMPDUMP}.lock" 2>/dev/null; then
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
+1 -5
View File
@@ -9,11 +9,7 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_op" ]]; then
_comps[op]=_op _comps[op]=_op
fi fi
zmodload -F zsh/files b:zf_mv op completion zsh >| "$ZSH_CACHE_DIR/completions/_op" &|
() {
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
+5 -5
View File
@@ -1,13 +1,13 @@
# Functions # Functions
function ansible-version() { function ansible-version(){
ansible --version ansible --version
} }
function ansible-role-init() { function ansible-role-init(){
if [[ -n "$1" ]]; then if ! [ -z $1 ] ; then
echo "Ansible Role : $1 Creating...." echo "Ansible Role : $1 Creating...."
ansible-galaxy init "$1" ansible-galaxy init $1
tree "$1" tree $1
else else
echo "Usage : ansible-role-init <role name>" echo "Usage : ansible-role-init <role name>"
echo "Example : ansible-role-init role1" echo "Example : ansible-role-init role1"
+1 -1
View File
@@ -21,7 +21,7 @@ plugins=(... archlinux)
| pacloc | `pacman -Qi` | Display information about a package in the local database | | pacloc | `pacman -Qi` | Display information about a package in the local database |
| paclocs | `pacman -Qs` | Search for packages in the local database | | paclocs | `pacman -Qs` | Search for packages in the local database |
| paclr | `sudo pacman -Scc` | Remove all files from the cache | | paclr | `sudo pacman -Scc` | Remove all files from the cache |
| paclsorphans | `pacman -Qdt` | List all orphaned packages | | paclsorphans | `sudo pacman -Qdt` | List all orphaned packages |
| pacmir | `sudo pacman -Syy` | Force refresh of all package lists after updating mirrorlist | | pacmir | `sudo pacman -Syy` | Force refresh of all package lists after updating mirrorlist |
| pacre | `sudo pacman -R` | Remove packages, keeping its settings and dependencies | | pacre | `sudo pacman -R` | Remove packages, keeping its settings and dependencies |
| pacrem | `sudo pacman -Rns` | Remove packages, including its settings and dependencies | | pacrem | `sudo pacman -Rns` | Remove packages, including its settings and dependencies |
+1 -1
View File
@@ -16,7 +16,7 @@ alias pacloc='pacman -Qi'
alias paclocs='pacman -Qs' alias paclocs='pacman -Qs'
alias pacinsd='sudo pacman -S --asdeps' alias pacinsd='sudo pacman -S --asdeps'
alias pacmir='sudo pacman -Syy' alias pacmir='sudo pacman -Syy'
alias paclsorphans='pacman -Qdt' alias paclsorphans='sudo pacman -Qdt'
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)' alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
alias pacfileupg='sudo pacman -Fy' alias pacfileupg='sudo pacman -Fy'
alias pacfiles='pacman -F' alias pacfiles='pacman -F'
+1 -5
View File
@@ -11,8 +11,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_arduino-cli" ]]; then
fi fi
# Generate and load arduino-cli completion # Generate and load arduino-cli completion
zmodload -F zsh/files b:zf_mv arduino-cli completion zsh >! "$ZSH_CACHE_DIR/completions/_arduino-cli" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_arduino-cli"
zf_mv -f -- =( arduino-cli completion zsh ) "$TMPPREFIX"
} &|
+1 -5
View File
@@ -11,8 +11,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_argocd" ]]; then
_comps[argocd]=_argocd _comps[argocd]=_argocd
fi fi
zmodload -F zsh/files b:zf_mv argocd completion zsh >| "$ZSH_CACHE_DIR/completions/_argocd" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_argocd"
zf_mv -f -- =( argocd completion zsh ) "$TMPPREFIX"
} &|
+1 -5
View File
@@ -12,8 +12,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_asdf" ]]; then
autoload -Uz _asdf autoload -Uz _asdf
_comps[asdf]=_asdf _comps[asdf]=_asdf
fi fi
zmodload -F zsh/files b:zf_mv asdf completion zsh >| "$ZSH_CACHE_DIR/completions/_asdf" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_asdf"
zf_mv -f -- =( asdf completion zsh ) "$TMPPREFIX"
} &|
+3 -3
View File
@@ -9,14 +9,14 @@ function agr() {
# Update state file if enabled # Update state file if enabled
function _aws_update_state() { function _aws_update_state() {
if [[ "$AWS_PROFILE_STATE_ENABLED" == true ]]; then if [[ "$AWS_PROFILE_STATE_ENABLED" == true ]]; then
test -d "$(dirname "${AWS_STATE_FILE}")" || return 1 test -d $(dirname ${AWS_STATE_FILE}) || exit 1
echo "${AWS_PROFILE} ${AWS_REGION}" > "${AWS_STATE_FILE}" echo "${AWS_PROFILE} ${AWS_REGION}" > "${AWS_STATE_FILE}"
fi fi
} }
function _aws_clear_state() { function _aws_clear_state() {
if [[ "$AWS_PROFILE_STATE_ENABLED" == true ]]; then if [[ "$AWS_PROFILE_STATE_ENABLED" == true ]]; then
test -d "$(dirname "${AWS_STATE_FILE}")" || return 1 test -d $(dirname ${AWS_STATE_FILE}) || exit 1
echo -n > "${AWS_STATE_FILE}" echo -n > "${AWS_STATE_FILE}"
fi fi
} }
@@ -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)${reset_color}" >&2 echo "${fg[red]}Available regions: \n$(aws_regions)"
return 1 return 1
fi fi
+1 -5
View File
@@ -11,8 +11,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_buf" ]]; then
fi fi
# Generate and load buf completion # Generate and load buf completion
zmodload -F zsh/files b:zf_mv buf completion zsh >! "$ZSH_CACHE_DIR/completions/_buf" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_buf"
zf_mv -f -- =( buf completion zsh ) "$TMPPREFIX"
} &|
+1 -5
View File
@@ -11,8 +11,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_bun" ]]; then
_comps[bun]=_bun _comps[bun]=_bun
fi fi
zmodload -F zsh/files b:zf_mv SHELL=zsh bun completions >| "$ZSH_CACHE_DIR/completions/_bun" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_bun"
zf_mv -f -- =( SHELL=zsh bun completions ) "$TMPPREFIX"
} &|
+1 -2
View File
@@ -22,8 +22,7 @@ plugins=(... bundler)
| `bo` | `bundle open` | Opens the source directory for a gem in your bundle | | `bo` | `bundle open` | Opens the source directory for a gem in your bundle |
| `bout` | `bundle outdated` | List installed gems with newer versions available | | `bout` | `bundle outdated` | List installed gems with newer versions available |
| `bp` | `bundle package` | Package your needed .gem files into your application | | `bp` | `bundle package` | Package your needed .gem files into your application |
| `bu` | `bundle update` | Update your gems to the latest available versions | | `bu` | `bundle update` | Update your gems to the latest available versions |
| `bua` | `bundle update --all` | Update all gems to the latest available versions |
## Gem wrapper ## Gem wrapper
-1
View File
@@ -10,7 +10,6 @@ alias bo="bundle open"
alias bout="bundle outdated" alias bout="bundle outdated"
alias bp="bundle package" alias bp="bundle package"
alias bu="bundle update" alias bu="bundle update"
alias bua="bundle update --all"
## Gem wrapper ## Gem wrapper
-32
View File
@@ -1,32 +0,0 @@
# AWS CDK Plugin
This plugin provides aliases and autocompletion for the [AWS Cloud Development Kit (CDK)](https://aws.amazon.com/cdk/) CLI.
## Usage
Add `cdk` to the plugins array in your `.zshrc`:
```zsh
plugins=(... cdk)
```
## Requirements
- [AWS CDK CLI](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html) installed (`npm install -g aws-cdk`)
## Aliases
| Alias | Command | Description |
| ------------ | ----------------- | ---------------------------------- |
| `cdkl` | `cdk list` | List all stacks in the app |
| `cdksynth` | `cdk synth` | Synthesize CloudFormation template |
| `cdkdiff` | `cdk diff` | Compare deployed vs local stack |
| `cdkdeploy` | `cdk deploy` | Deploy stack to AWS |
| `cdkdestroy` | `cdk destroy` | Destroy deployed stack |
| `cdkboot` | `cdk bootstrap` | Bootstrap CDK environment |
| `cdkdoc` | `cdk docs` | Open CDK documentation |
| `cdkinit` | `cdk init` | Initialize a new CDK project |
| `cdkwatch` | `cdk watch` | Watch for changes and auto-deploy |
| `cdkctx` | `cdk context` | Manage cached context values |
| `cdkack` | `cdk acknowledge` | Acknowledge a notice |
| `cdkver` | `cdk --version` | Print CDK version |
-12
View File
@@ -1,12 +0,0 @@
#compdef cdk
# Originally found and adapted from: https://github.com/aws/aws-cdk/discussions/24380#discussioncomment-5158176
local -a reply
local IFS
IFS=$'\n' reply=($(COMP_CWORD="$((CURRENT-1))" \
COMP_LINE="$BUFFER" \
COMP_POINT="$CURSOR" \
cdk --get-yargs-completions "${words[@]}"))
_describe 'values' reply
-13
View File
@@ -1,13 +0,0 @@
# Aliases
alias cdkl='cdk list'
alias cdksynth='cdk synth'
alias cdkdiff='cdk diff'
alias cdkdeploy='cdk deploy'
alias cdkdestroy='cdk destroy'
alias cdkboot='cdk bootstrap'
alias cdkdoc='cdk docs'
alias cdkinit='cdk init'
alias cdkwatch='cdk watch'
alias cdkctx='cdk context'
alias cdkack='cdk acknowledge'
alias cdkver='cdk --version'
+1 -5
View File
@@ -11,8 +11,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_charm" ]]; then
_comps[charm]=_charm _comps[charm]=_charm
fi fi
zmodload -F zsh/files b:zf_mv charm completion zsh >| "$ZSH_CACHE_DIR/completions/_charm" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_charm"
zf_mv -f -- =( charm completion zsh ) "$TMPPREFIX"
} &|
+1 -5
View File
@@ -11,8 +11,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_chezmoi" ]]; then
_comps[chezmoi]=_chezmoi _comps[chezmoi]=_chezmoi
fi fi
zmodload -F zsh/files b:zf_mv chezmoi completion zsh >| "$ZSH_CACHE_DIR/completions/_chezmoi" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_chezmoi"
zf_mv -f -- =( chezmoi completion zsh ) "$TMPPREFIX"
} &|
-11
View File
@@ -1,11 +0,0 @@
# codex Plugin
## Introduction
This `codex` plugin sets up completion for [codex](https://github.com/openai/codex).
To use it, add `codex` to the plugins array of your zshrc file:
```bash
plugins=(... codex)
```
-18
View File
@@ -1,18 +0,0 @@
# COMPLETION FUNCTION
if (( ! $+commands[codex] )); then
return
fi
# If the completion file doesn't exist yet, we need to autoload it and
# bind it to `codex`. Otherwise, compinit will have already done that.
if [[ ! -f "$ZSH_CACHE_DIR/completions/_codex" ]]; then
typeset -g -A _comps
autoload -Uz _codex
_comps[codex]=_codex
fi
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"
} &|
-1
View File
@@ -32,6 +32,5 @@ It works out of the box with the command-not-found packages for:
- [SUSE](https://www.unix.com/man-page/suse/1/command-not-found/) - [SUSE](https://www.unix.com/man-page/suse/1/command-not-found/)
- [Gentoo](https://github.com/AndrewAmmerlaan/command-not-found-gentoo/tree/main) - [Gentoo](https://github.com/AndrewAmmerlaan/command-not-found-gentoo/tree/main)
- [Void Linux](https://codeberg.org/classabbyamp/xbps-command-not-found) - [Void Linux](https://codeberg.org/classabbyamp/xbps-command-not-found)
- [Alpine Linux](https://pkgs.alpinelinux.org/package/edge/main/x86_64/command-not-found)
You can add support for other platforms by submitting a Pull Request. You can add support for other platforms by submitting a Pull Request.
@@ -74,10 +74,3 @@ if [[ -x /usr/bin/command-not-found ]]; then
/usr/bin/command-not-found "$1" /usr/bin/command-not-found "$1"
} }
fi fi
# Alpine: https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/command-not-found/APKBUILD
if [[ -x /usr/libexec/command-not-found ]]; then
command_not_found_handler() {
/usr/libexec/command-not-found "$1"
}
fi
@@ -78,7 +78,7 @@ if is-at-least 4.2.0; then
alias -s chm=xchm alias -s chm=xchm
alias -s djvu=djview alias -s djvu=djview
#list what's inside packed file #list whats inside packed file
alias -s zip="unzip -l" alias -s zip="unzip -l"
alias -s rar="unrar l" alias -s rar="unrar l"
alias -s tar="tar tf" alias -s tar="tar tf"
+1 -5
View File
@@ -25,8 +25,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_deno" ]]; then
_comps[deno]=_deno _comps[deno]=_deno
fi fi
zmodload -F zsh/files b:zf_mv deno completions zsh >| "$ZSH_CACHE_DIR/completions/_deno" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_deno"
zf_mv -f -- =( deno completions zsh ) "$TMPPREFIX"
} &|
+15 -16
View File
@@ -15,19 +15,18 @@ of `dnf5` and uses it as drop-in alternative to the slower `dnf`.
## Aliases ## Aliases
| Alias | Command | Description | | Alias | Command | Description |
|-------|-------------------------------|------------------------------------------| |-------|-------------------------|--------------------------|
| dnfl | `dnf list` | List packages | | dnfl | `dnf list` | List packages |
| dnfli | `dnf list --installed` | List installed packages | | dnfli | `dnf list --installed` | List installed packages |
| dnfgl | `dnf grouplist` | List package groups | | dnfgl | `dnf grouplist` | List package groups |
| dnfmc | `dnf makecache` | Generate metadata cache | | dnfmc | `dnf makecache` | Generate metadata cache |
| dnfp | `dnf info` | Show package information | | dnfp | `dnf info` | Show package information |
| dnfs | `dnf search` | Search package | | dnfs | `dnf search` | Search package |
| **Use `sudo`** | | **Use `sudo`** |
| dnfu | `sudo dnf upgrade` | Upgrade package | | dnfu | `sudo dnf upgrade` | Upgrade package |
| dnfur | `sudo dnf upgrade --refresh` | Upgrade package (force metadata refresh) | | dnfi | `sudo dnf install` | Install package |
| dnfi | `sudo dnf install` | Install package | | dnfgi | `sudo dnf groupinstall` | Install package group |
| dnfgi | `sudo dnf groupinstall` | Install package group | | dnfr | `sudo dnf remove` | Remove package |
| dnfr | `sudo dnf remove` | Remove package | | dnfgr | `sudo dnf groupremove` | Remove package group |
| dnfgr | `sudo dnf groupremove` | Remove package group | | dnfc | `sudo dnf clean all` | Clean cache |
| dnfc | `sudo dnf clean all` | Clean cache |
-1
View File
@@ -11,7 +11,6 @@ alias dnfp="${dnfprog} info" # Show package information
alias dnfs="${dnfprog} search" # Search package alias dnfs="${dnfprog} search" # Search package
alias dnfu="sudo ${dnfprog} upgrade" # Upgrade package alias dnfu="sudo ${dnfprog} upgrade" # Upgrade package
alias dnfur="sudo ${dnfprog} upgrade --refresh" # Upgrade package and refresh repos
alias dnfi="sudo ${dnfprog} install" # Install package alias dnfi="sudo ${dnfprog} install" # Install package
alias dnfr="sudo ${dnfprog} remove" # Remove package alias dnfr="sudo ${dnfprog} remove" # Remove package
alias dnfc="sudo ${dnfprog} clean all" # Clean cache alias dnfc="sudo ${dnfprog} clean all" # Clean cache
+1 -2
View File
@@ -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,7 +17,6 @@ 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,7 +6,6 @@
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"
+4 -9
View File
@@ -56,19 +56,14 @@ 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 "${plugin_dir}/completions/_docker" "$ZSH_CACHE_DIR/completions/_docker" command cp "${0:h}/completions/_docker" "$ZSH_CACHE_DIR/completions/_docker"
else else
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_docker" command docker completion zsh | tee "$ZSH_CACHE_DIR/completions/_docker" > /dev/null
zf_mv -f -- =( command docker completion zsh ) "$TMPPREFIX"
fi fi
} "${0:A:h}" &| } &|
+1 -5
View File
@@ -14,8 +14,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_doctl" ]]; then
_comps[doctl]=_doctl _comps[doctl]=_doctl
fi fi
zmodload -F zsh/files b:zf_mv doctl completion zsh >| "$ZSH_CACHE_DIR/completions/_doctl" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_doctl"
zf_mv -f -- =( doctl completion zsh ) "$TMPPREFIX"
} &|
+1 -1
View File
@@ -102,7 +102,7 @@ EOF
(*.tar.lrz) (( $+commands[lrzuntar] )) && lrzuntar "$full_path" ;; (*.tar.lrz) (( $+commands[lrzuntar] )) && lrzuntar "$full_path" ;;
(*.gz) (( $+commands[pigz] )) && pigz -cdk "$full_path" > "${file:t:r}" || gunzip -ck "$full_path" > "${file:t:r}" ;; (*.gz) (( $+commands[pigz] )) && pigz -cdk "$full_path" > "${file:t:r}" || gunzip -ck "$full_path" > "${file:t:r}" ;;
(*.bz2) (( $+commands[pbzip2] )) && pbzip2 -d "$full_path" || bunzip2 "$full_path" ;; (*.bz2) (( $+commands[pbzip2] )) && pbzip2 -d "$full_path" || bunzip2 "$full_path" ;;
(*.xz) xzcat "$full_path" > "${file:t:r}" ;; (*.xz) unxz "$full_path" ;;
(*.lrz) (( $+commands[lrunzip] )) && lrunzip "$full_path" ;; (*.lrz) (( $+commands[lrunzip] )) && lrunzip "$full_path" ;;
(*.lz4) lz4 -d "$full_path" ;; (*.lz4) lz4 -d "$full_path" ;;
(*.lzma) unlzma "$full_path" ;; (*.lzma) unlzma "$full_path" ;;
+1 -2
View File
@@ -48,11 +48,10 @@ Default: `no`
### `show-group` ### `show-group`
```zsh ```zsh
zstyle ':omz:plugins:eza' 'show-group' yes|no|smart zstyle ':omz:plugins:eza' 'show-group' yes|no
``` ```
If `yes` (default), always add `-g` flag to show the group ownership. If `yes` (default), always add `-g` flag to show the group ownership.
If `smart`, adds the `--smart-group` flag to only show the group if it has a different name from the owner.
Default: `yes` Default: `yes`
+5 -16
View File
@@ -9,15 +9,9 @@ typeset -a _EZA_TAIL
function _configure_eza() { function _configure_eza() {
local _val local _val
# Get the head flags # Get the head flags
zstyle -s ':omz:plugins:eza' 'show-group' _val if zstyle -T ':omz:plugins:eza' 'show-group'; then
case "${_val:l}" in _EZA_HEAD+=("g")
yes) fi
_EZA_HEAD+=("g")
;;
smart)
_EZA_TAIL+=("--smart-group")
;;
esac
if zstyle -t ':omz:plugins:eza' 'header'; then if zstyle -t ':omz:plugins:eza' 'header'; then
_EZA_HEAD+=("h") _EZA_HEAD+=("h")
fi fi
@@ -52,13 +46,8 @@ 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 >= 0.23 needs an explicit WHEN value _EZA_TAIL+=("--hyperlink")
if command eza --hyperlink=auto --version &>/dev/null; then
_EZA_TAIL+=("--hyperlink=auto")
else
_EZA_TAIL+=("--hyperlink")
fi
fi fi
} }
+4 -8
View File
@@ -13,20 +13,16 @@ plugins=(... flutter)
| Alias | Command | Description | | Alias | Command | Description |
| :--------- | :---------------------- | :------------------------------------------------------------------------- | | :--------- | :---------------------- | :------------------------------------------------------------------------- |
| `fl` | `flutter` | Shorthand for flutter command | | `fl` | `flutter` | Shorthand for flutter command |
| `fla` | `flutter analyze` | Analyzes flutter code |
| `flattach` | `flutter attach` | Attaches flutter to a running flutter application with enabled observatory | | `flattach` | `flutter attach` | Attaches flutter to a running flutter application with enabled observatory |
| `flb` | `flutter build` | Build flutter application | | `flb` | `flutter build` | Build flutter application |
| `flc` | `flutter clean` | Cleans flutter project |
| `flchnl` | `flutter channel` | Switches flutter channel (requires input of desired channel) | | `flchnl` | `flutter channel` | Switches flutter channel (requires input of desired channel) |
| `fldoc` | `flutter doctor` | Runs flutter doctor | | `flc` | `flutter clean` | Cleans flutter project |
| `fldvcs` | `flutter devices` | List connected devices (if any) | | `fldvcs` | `flutter devices` | List connected devices (if any) |
| `flget` | `flutter pub get` | Installs dependencies | | `fldoc` | `flutter doctor` | Runs flutter doctor |
| `fll` | `flutter logs` | Shows flutter logs |
| `flpu` | `flutter pub upgrade` | Upgrades dependencies |
| `flpub` | `flutter pub` | Shorthand for flutter pub command | | `flpub` | `flutter pub` | Shorthand for flutter pub command |
| `flget` | `flutter pub get` | Installs dependencies |
| `flr` | `flutter run` | Runs flutter app | | `flr` | `flutter run` | Runs flutter app |
| `flrd` | `flutter run --debug` | Runs flutter app in debug mode (default mode) | | `flrd` | `flutter run --debug` | Runs flutter app in debug mode (default mode) |
| `flrp` | `flutter run --profile` | Runs flutter app in profile mode | | `flrp` | `flutter run --profile` | Runs flutter app in profile mode |
| `flrr` | `flutter run --release` | Runs flutter app in release mode | | `flrr` | `flutter run --release` | Runs flutter app in release mode |
| `flt` | `flutter test` | Runs flutter tests | | `flupgrd` | `flutter upgrade` | Upgrades flutter version depending on the current channel |
| `flupgrd` | `flutter upgrade` | Upgrades flutter version depending on the current channel |
+4 -12
View File
@@ -1,20 +1,16 @@
alias fl="flutter" alias fl="flutter"
alias fla="flutter analyze"
alias flattach="flutter attach" alias flattach="flutter attach"
alias flb="flutter build" alias flb="flutter build"
alias flc="flutter clean"
alias flchnl="flutter channel" alias flchnl="flutter channel"
alias fldoc="flutter doctor" alias flc="flutter clean"
alias fldvcs="flutter devices" alias fldvcs="flutter devices"
alias flget="flutter pub get" alias fldoc="flutter doctor"
alias fll="flutter logs"
alias flpu="flutter pub upgrade"
alias flpub="flutter pub" alias flpub="flutter pub"
alias flget="flutter pub get"
alias flr="flutter run" alias flr="flutter run"
alias flrd="flutter run --debug" alias flrd="flutter run --debug"
alias flrp="flutter run --profile" alias flrp="flutter run --profile"
alias flrr="flutter run --release" alias flrr="flutter run --release"
alias flt="flutter test"
alias flupgrd="flutter upgrade" alias flupgrd="flutter upgrade"
# COMPLETION FUNCTION # COMPLETION FUNCTION
@@ -30,8 +26,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_flutter" ]]; then
_comps[flutter]=_flutter _comps[flutter]=_flutter
fi fi
zmodload -F zsh/files b:zf_mv flutter zsh-completion < /dev/null >| "$ZSH_CACHE_DIR/completions/_flutter" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_flutter"
zf_mv -f -- =( flutter zsh-completion < /dev/null ) "$TMPPREFIX"
} &|
+1 -5
View File
@@ -11,8 +11,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_flux" ]]; then
_comps[flux]=_flux _comps[flux]=_flux
fi fi
zmodload -F zsh/files b:zf_mv flux completion zsh >| "$ZSH_CACHE_DIR/completions/_flux" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_flux"
zf_mv -f -- =( flux completion zsh ) "$TMPPREFIX"
} &|
+1 -5
View File
@@ -10,11 +10,7 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_fnm" ]]; then
_comps[fnm]=_fnm _comps[fnm]=_fnm
fi fi
zmodload -F zsh/files b:zf_mv fnm completions --shell=zsh >| "$ZSH_CACHE_DIR/completions/_fnm" &|
() {
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
-18
View File
@@ -1,18 +0,0 @@
# 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`.
-18
View File
@@ -1,18 +0,0 @@
# 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"
} &|
+1 -5
View File
@@ -11,8 +11,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_gh" ]]; then
_comps[gh]=_gh _comps[gh]=_gh
fi fi
zmodload -F zsh/files b:zf_mv gh completion --shell zsh >| "$ZSH_CACHE_DIR/completions/_gh" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_gh"
zf_mv -f -- =( gh completion --shell zsh ) "$TMPPREFIX"
} &|
+1 -1
View File
@@ -45,7 +45,7 @@ plugins=(... git)
| `gbgD` | `LANG=C git branch --no-color -vv \| grep ": gone\]" \| cut -c 3- \| awk '"'"'{print $1}'"'"' \| xargs git branch -D` | | `gbgD` | `LANG=C git branch --no-color -vv \| grep ": gone\]" \| cut -c 3- \| awk '"'"'{print $1}'"'"' \| xargs git branch -D` |
| `gbm` | `git branch --move` | | `gbm` | `git branch --move` |
| `gbnm` | `git branch --no-merged` | | `gbnm` | `git branch --no-merged` |
| `gbr` | `git branch --remotes` | | `gbr` | `git branch --remote` |
| `ggsup` | `git branch --set-upstream-to=origin/$(git_current_branch)` | | `ggsup` | `git branch --set-upstream-to=origin/$(git_current_branch)` |
| `gbg` | `LANG=C git branch -vv \| grep ": gone\]"` | | `gbg` | `LANG=C git branch -vv \| grep ": gone\]"` |
| `gco` | `git checkout` | | `gco` | `git checkout` |
+3 -4
View File
@@ -137,9 +137,8 @@ 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 local default_branch=$(git_main_branch)
default_branch=$(git_main_branch) \ (( ! $? )) || default_branch=$(git_develop_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
@@ -154,7 +153,7 @@ alias gbgd='LANG=C git branch --no-color -vv | grep ": gone\]" | cut -c 3- | awk
alias gbgD='LANG=C git branch --no-color -vv | grep ": gone\]" | cut -c 3- | awk '"'"'{print $1}'"'"' | xargs git branch -D' alias gbgD='LANG=C git branch --no-color -vv | grep ": gone\]" | cut -c 3- | awk '"'"'{print $1}'"'"' | xargs git branch -D'
alias gbm='git branch --move' alias gbm='git branch --move'
alias gbnm='git branch --no-merged' alias gbnm='git branch --no-merged'
alias gbr='git branch --remotes' alias gbr='git branch --remote'
alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)' alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
alias gbg='LANG=C git branch -vv | grep ": gone\]"' alias gbg='LANG=C git branch -vv | grep ": gone\]"'
alias gco='git checkout' alias gco='git checkout'
+3 -39
View File
@@ -10,48 +10,12 @@ function gi() {
} }
_gitignoreio_get_command_list() { _gitignoreio_get_command_list() {
setopt local_options pipe_fail
_gi_curl "list" | tr "," "\n" _gi_curl "list" | tr "," "\n"
} }
__gitignoreio_caching_policy() { _gitignoreio () {
local -a oldp
oldp=("$1"(Nm+7))
(($#oldp))
}
_gitignoreio_retrieve_stale_cache() {
zstyle -t ":completion:${curcontext}:" use-cache || return 1
local cache_dir
zstyle -s ":completion:${curcontext}:" cache-path cache_dir
: ${cache_dir:=${ZDOTDIR:-$HOME}/.zcompcache}
[[ -e "$cache_dir/gi-list" ]] || return 1
. "$cache_dir/gi-list"
}
_gitignoreio() {
compset -P '*,' compset -P '*,'
compadd -S '' $(_gitignoreio_get_command_list)
local cache_policy
zstyle -s ":completion:${curcontext}:" cache-policy cache_policy
if [[ -z "$cache_policy" ]]; then
zstyle ":completion:${curcontext}:" cache-policy __gitignoreio_caching_policy
fi
local -a _gi_list
if _cache_invalid gi-list || ! _retrieve_cache gi-list; then
local command_list
if command_list="$(_gitignoreio_get_command_list)" && [[ -n "$command_list" ]]; then
_gi_list=(${(f)command_list})
_store_cache gi-list _gi_list
else
_gitignoreio_retrieve_stale_cache
fi
fi
compadd -S '' -a _gi_list
} }
compdef _gitignoreio gi compdef _gitignoreio gi
+1 -1
View File
@@ -27,7 +27,7 @@ The plugin also documents two other ways to do this:
1. Using a function wrapper, such that, for example, there exists a function 1. Using a function wrapper, such that, for example, there exists a function
named `ls` which calls `gls` instead. Since functions have a higher preference named `ls` which calls `gls` instead. Since functions have a higher preference
than commands, this ends up calling the GNU coreutils. It has also a higher than commands, this ends up calling the GNU coreutil. It has also a higher
preference over shell builtins (`gecho` is called instead of the builtin `echo`). preference over shell builtins (`gecho` is called instead of the builtin `echo`).
2. Using an alias. This has an even higher preference than functions, but they 2. Using an alias. This has an even higher preference than functions, but they
-15
View File
@@ -39,18 +39,3 @@ 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
```
-9
View File
@@ -36,12 +36,3 @@ 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}"
}
+2 -14
View File
@@ -269,7 +269,6 @@ __gradle_subcommand() {
'-Dorg.gradle.configuration-cache.unsafe.ignore.unsupported-build-events-listeners=[]' \ '-Dorg.gradle.configuration-cache.unsafe.ignore.unsupported-build-events-listeners=[]' \
'-Dorg.gradle.configuration-cache=[Enables the configuration cache. Gradle will try to reuse the build configuration from previous builds.]' \ '-Dorg.gradle.configuration-cache=[Enables the configuration cache. Gradle will try to reuse the build configuration from previous builds.]' \
'-Dorg.gradle.configureondemand=[Configures necessary projects only. Gradle will attempt to reduce configuration time for large multi-project builds.]' \ '-Dorg.gradle.configureondemand=[Configures necessary projects only. Gradle will attempt to reduce configuration time for large multi-project builds.]' \
'-Dorg.gradle.console.interactive=[]' \
'-Dorg.gradle.console.unicode=[Specifies which character types are allowed in the console output. Supported values are 'auto' (default), 'disable', or 'enable'.]' \ '-Dorg.gradle.console.unicode=[Specifies which character types are allowed in the console output. Supported values are 'auto' (default), 'disable', or 'enable'.]' \
'-Dorg.gradle.console=[Specifies which type of console output to generate. Supported values are 'plain', 'colored', 'auto' (default), 'rich', or 'verbose'.]:org.gradle.console:(plain auto rich verbose)' \ '-Dorg.gradle.console=[Specifies which type of console output to generate. Supported values are 'plain', 'colored', 'auto' (default), 'rich', or 'verbose'.]:org.gradle.console:(plain auto rich verbose)' \
'-Dorg.gradle.continue=[Continues task execution after a task failure.]' \ '-Dorg.gradle.continue=[Continues task execution after a task failure.]' \
@@ -284,9 +283,6 @@ __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=[]' \
@@ -302,6 +298,7 @@ __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=[]' \
'-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'.]' \
@@ -329,20 +326,17 @@ __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.]' \
(--scan)'--no-scan[Disables the creation of a Build Scan.]' \ (--scan)'--no-scan[Disables the creation of a Build Scan.]' \
(--watch-fs)'--no-watch-fs[Disables file system watching.]' \ (--watch-fs)'--no-watch-fs[Disables file system watching.]' \
'--non-interactive[Do not do interactive prompting. (incubating)]' \
'--offline[Runs the build without accessing network resources.]' \ '--offline[Runs the build without accessing network resources.]' \
(--no-parallel)'--parallel[Builds projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use.]' \ (--no-parallel)'--parallel[Builds projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use.]' \
'--priority[Specifies the scheduling priority for the Gradle daemon and all processes launched by it. Supported values are 'normal' (default) or 'low'.]' \ '--priority[Specifies the scheduling priority for the Gradle daemon and all processes launched by it. Supported values are 'normal' (default) or 'low'.]' \
@@ -409,7 +403,6 @@ _gradle() {
'-Dorg.gradle.configuration-cache.unsafe.ignore.unsupported-build-events-listeners=[]:->argument-expected' \ '-Dorg.gradle.configuration-cache.unsafe.ignore.unsupported-build-events-listeners=[]:->argument-expected' \
'-Dorg.gradle.configuration-cache=[Enables the configuration cache. Gradle will try to reuse the build configuration from previous builds.]:->argument-expected' \ '-Dorg.gradle.configuration-cache=[Enables the configuration cache. Gradle will try to reuse the build configuration from previous builds.]:->argument-expected' \
'-Dorg.gradle.configureondemand=[Configures necessary projects only. Gradle will attempt to reduce configuration time for large multi-project builds.]:->argument-expected' \ '-Dorg.gradle.configureondemand=[Configures necessary projects only. Gradle will attempt to reduce configuration time for large multi-project builds.]:->argument-expected' \
'-Dorg.gradle.console.interactive=[]:->argument-expected' \
'-Dorg.gradle.console.unicode=[Specifies which character types are allowed in the console output. Supported values are 'auto' (default), 'disable', or 'enable'.]:->argument-expected' \ '-Dorg.gradle.console.unicode=[Specifies which character types are allowed in the console output. Supported values are 'auto' (default), 'disable', or 'enable'.]:->argument-expected' \
'-Dorg.gradle.console=[Specifies which type of console output to generate. Supported values are 'plain', 'colored', 'auto' (default), 'rich', or 'verbose'.]:org.gradle.console:(plain auto rich verbose):->argument-expected' \ '-Dorg.gradle.console=[Specifies which type of console output to generate. Supported values are 'plain', 'colored', 'auto' (default), 'rich', or 'verbose'.]:org.gradle.console:(plain auto rich verbose):->argument-expected' \
'-Dorg.gradle.continue=[Continues task execution after a task failure.]:->argument-expected' \ '-Dorg.gradle.continue=[Continues task execution after a task failure.]:->argument-expected' \
@@ -424,9 +417,6 @@ _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' \
@@ -442,6 +432,7 @@ _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=[]:->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' \
@@ -470,20 +461,17 @@ _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.]' \
(--scan)'--no-scan[Disables the creation of a Build Scan.]' \ (--scan)'--no-scan[Disables the creation of a Build Scan.]' \
(--watch-fs)'--no-watch-fs[Disables file system watching.]' \ (--watch-fs)'--no-watch-fs[Disables file system watching.]' \
'--non-interactive[Do not do interactive prompting. (incubating)]' \
'--offline[Runs the build without accessing network resources.]' \ '--offline[Runs the build without accessing network resources.]' \
(--no-parallel)'--parallel[Builds projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use.]' \ (--no-parallel)'--parallel[Builds projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use.]' \
'--priority[Specifies the scheduling priority for the Gradle daemon and all processes launched by it. Supported values are 'normal' (default) or 'low'.]:->argument-expected' \ '--priority[Specifies the scheduling priority for the Gradle daemon and all processes launched by it. Supported values are 'normal' (default) or 'low'.]:->argument-expected' \
+1 -1
View File
@@ -23,7 +23,7 @@
# #
# Enable caching: # Enable caching:
# #
# If you want to use the cache, set the following in your .zshrc: # If you want to use the cache, set the followings in your .zshrc:
# #
# zstyle ':completion:*' use-cache yes # zstyle ':completion:*' use-cache yes
# #
+1 -5
View File
@@ -9,9 +9,5 @@ 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"
zmodload -F zsh/files b:zf_mv hasura completion zsh --file "$ZSH_CACHE_DIR/completions/_hasura" >/dev/null &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_hasura"
zf_mv -f -- =( hasura completion zsh ) "$TMPPREFIX"
} &|
fi fi
+1 -5
View File
@@ -13,11 +13,7 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_hcloud" ]]; then
_comps[hcloud]=_hcloud _comps[hcloud]=_hcloud
fi fi
zmodload -F zsh/files b:zf_mv hcloud completion zsh 2> /dev/null >| "$ZSH_CACHE_DIR/completions/_hcloud" &|
() {
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'
+1 -5
View File
@@ -9,11 +9,7 @@ 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"
zmodload -F zsh/files b:zf_mv helm completion zsh | tee "$ZSH_CACHE_DIR/completions/_helm" >/dev/null &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_helm"
zf_mv -f -- =( helm completion zsh ) "$TMPPREFIX"
} &|
fi fi
alias h='helm' alias h='helm'
+1 -1
View File
@@ -20,7 +20,7 @@ Requirements
Install Install
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
Using the [Homebrew](https://brew.sh) package manager: Using the [Homebrew]( https://brew.sh ) package manager:
brew install zsh-history-substring-search brew install zsh-history-substring-search
echo 'source $(brew --prefix)/share/zsh-history-substring-search/zsh-history-substring-search.zsh' >> ~/.zshrc echo 'source $(brew --prefix)/share/zsh-history-substring-search/zsh-history-substring-search.zsh' >> ~/.zshrc
@@ -295,8 +295,8 @@ _history-substring-search-begin() {
fi fi
# #
# Escape and join query parts with wildcard character '*' as separator # Escape and join query parts with wildcard character '*' as seperator
# `(j:CHAR:)` join array to string with CHAR as separator # `(j:CHAR:)` join array to string with CHAR as seperator
# #
local search_pattern="${(j:*:)_history_substring_search_query_parts[@]//(#m)[\][()|\\*?#<>~^]/\\$MATCH}*" local search_pattern="${(j:*:)_history_substring_search_query_parts[@]//(#m)[\][()|\\*?#<>~^]/\\$MATCH}*"
-19
View File
@@ -19,54 +19,35 @@ 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
+1 -24
View File
@@ -11,11 +11,7 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_jj" ]]; then
_comps[jj]=_jj _comps[jj]=_jj
fi fi
zmodload -F zsh/files b:zf_mv COMPLETE=zsh jj >| "$ZSH_CACHE_DIR/completions/_jj" &|
() {
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
@@ -45,51 +41,32 @@ 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 jjwf='jj workspace forget'
alias jjwl='jj workspace list'
-1
View File
@@ -35,7 +35,6 @@ 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'
+1 -5
View File
@@ -11,8 +11,4 @@ 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.
zmodload -F zsh/files b:zf_mv k9s completion zsh >| "$ZSH_CACHE_DIR/completions/_k9s" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_k9s"
zf_mv -f -- =( k9s completion zsh ) "$TMPPREFIX"
} &|
+27 -40
View File
@@ -4,50 +4,37 @@
SHORT_HOST=${SHORT_HOST:-${(%):-%m}} SHORT_HOST=${SHORT_HOST:-${(%):-%m}}
function { function {
local -a identities local agents
local -a options local -a identities
local _keychain_env_sh local -a options
local _keychain_env_sh_gpg local _keychain_env_sh
local version_string major local _keychain_env_sh_gpg
# load identities to manage. # load agents to start.
zstyle -a :omz:plugins:keychain identities identities zstyle -s :omz:plugins:keychain agents agents
# load additional options # load identities to manage.
zstyle -a :omz:plugins:keychain options options zstyle -a :omz:plugins:keychain identities identities
# Detect major version robustly: case-insensitive, tolerant of # load additional options
# "keychain 3.0.0_beta3" / "Keychain 3.0.0" / etc. zstyle -a :omz:plugins:keychain options options
version_string=$(keychain --version 2>&1)
if [[ "${version_string:l}" =~ '([0-9]+)\.[0-9]+' ]]; then
major=${match[1]}
else
major=2
fi
if (( major >= 3 )); then # Check keychain version to decide whether to use --agents
# Keychain 3.x: subcommand-based CLI, no --agents. local version_string=$(keychain --version 2>&1)
keychain add ${^options:-} --host $SHORT_HOST ${^identities} # start keychain, only use --agents for versions below 2.9.0
else autoload -Uz is-at-least
local agents if [[ "$version_string" =~ 'keychain ([0-9]+\.[0-9]+)' ]] && \
is-at-least 2.9 "$match[1]"; then
keychain ${^options:-} ${^identities} --host $SHORT_HOST
else
keychain ${^options:-} --agents ${agents:-gpg} ${^identities} --host $SHORT_HOST
fi
# load agents to start (only used by keychain < 2.9). # Get the filenames to store/lookup the environment from
zstyle -s :omz:plugins:keychain agents agents _keychain_env_sh="$HOME/.keychain/$SHORT_HOST-sh"
_keychain_env_sh_gpg="$HOME/.keychain/$SHORT_HOST-sh-gpg"
autoload -Uz is-at-least # Source environment settings.
if [[ "${version_string:l}" =~ 'keychain ([0-9]+\.[0-9]+)' ]] && \ [ -f "$_keychain_env_sh" ] && . "$_keychain_env_sh"
is-at-least 2.9 "$match[1]"; then [ -f "$_keychain_env_sh_gpg" ] && . "$_keychain_env_sh_gpg"
keychain ${^options:-} ${^identities} --host $SHORT_HOST
else
keychain ${^options:-} --agents ${agents:-gpg} ${^identities} --host $SHORT_HOST
fi
fi
# Get the filenames to store/lookup the environment from
_keychain_env_sh="$HOME/.keychain/$SHORT_HOST-sh"
_keychain_env_sh_gpg="$HOME/.keychain/$SHORT_HOST-sh-gpg"
# Source environment settings.
[ -f "$_keychain_env_sh" ] && . "$_keychain_env_sh"
[ -f "$_keychain_env_sh_gpg" ] && . "$_keychain_env_sh_gpg"
} }
+1 -5
View File
@@ -11,11 +11,7 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_kind" ]]; then
fi fi
# Generate and load kind completion # Generate and load kind completion
zmodload -F zsh/files b:zf_mv kind completion zsh >! "$ZSH_CACHE_DIR/completions/_kind" &|
() {
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"
-1
View File
@@ -71,7 +71,6 @@ 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** |
+1 -6
View File
@@ -10,11 +10,7 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_kubectl" ]]; then
_comps[kubectl]=_kubectl _comps[kubectl]=_kubectl
fi fi
zmodload -F zsh/files b:zf_mv kubectl completion zsh 2> /dev/null >| "$ZSH_CACHE_DIR/completions/_kubectl" &|
() {
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
@@ -93,7 +89,6 @@ alias kdelcm='kubectl delete configmap'
# Secret management # Secret management
alias kgsec='kubectl get secret' alias kgsec='kubectl get secret'
alias kgseca='kubectl get secret --all-namespaces' alias kgseca='kubectl get secret --all-namespaces'
alias kesec='kubectl edit secret'
alias kdsec='kubectl describe secret' alias kdsec='kubectl describe secret'
alias kdelsec='kubectl delete secret' alias kdelsec='kubectl delete secret'
-15
View File
@@ -22,21 +22,6 @@ RPS1='$(kubectx_prompt_info)'
PROMPT="$PROMPT"'$(kubectx_prompt_info)' PROMPT="$PROMPT"'$(kubectx_prompt_info)'
``` ```
The context is loaded asynchronously on supported versions of zsh so that
`kubectl` does not block the prompt. To restore synchronous behavior, add this
before Oh My Zsh is sourced:
```zsh
zstyle ':omz:alpha:plugins:kubectx' async-prompt no
```
If your theme calls `kubectx_prompt_info` indirectly through another function,
force registration of the async handler instead:
```zsh
zstyle ':omz:alpha:plugins:kubectx' async-prompt force
```
### Custom context names ### Custom context names
You can rename the default context name for better readability or additional formatting. You can rename the default context name for better readability or additional formatting.
+1 -32
View File
@@ -1,6 +1,6 @@
typeset -g -A kubectx_mapping typeset -g -A kubectx_mapping
function _omz_kubectx_prompt_info() { function kubectx_prompt_info() {
(( $+commands[kubectl] )) || return (( $+commands[kubectl] )) || return
local current_ctx=$(kubectl config current-context 2> /dev/null) local current_ctx=$(kubectl config current-context 2> /dev/null)
@@ -13,34 +13,3 @@ function _omz_kubectx_prompt_info() {
# the context name, as it could contain a % character. # the context name, as it could contain a % character.
echo "${kubectx_mapping[$current_ctx]:-${current_ctx:gs/%/%%}}" echo "${kubectx_mapping[$current_ctx]:-${current_ctx:gs/%/%%}}"
} }
function kubectx_prompt_info() {
if (( ${+_OMZ_ASYNC_OUTPUT} )) \
&& [[ -n "${_OMZ_ASYNC_OUTPUT[_omz_kubectx_prompt_info]-}" ]]; then
echo -n "${_OMZ_ASYNC_OUTPUT[_omz_kubectx_prompt_info]}"
fi
}
local _style
if zstyle -t ':omz:alpha:plugins:kubectx' async-prompt \
|| { is-at-least 5.0.6 && zstyle -T ':omz:alpha:plugins:kubectx' async-prompt }; then
function _defer_async_kubectx_register() {
case "${PS1}:${PS2}:${PS3}:${PS4}:${RPROMPT-}:${RPS1-}:${RPS2-}:${RPS3-}:${RPS4-}" in
*(\$\(kubectx_prompt_info\)|\`kubectx_prompt_info\`)*)
_omz_register_handler _omz_kubectx_prompt_info
;;
esac
add-zsh-hook -d precmd _defer_async_kubectx_register
unset -f _defer_async_kubectx_register
}
autoload -Uz add-zsh-hook
precmd_functions=(_defer_async_kubectx_register $precmd_functions)
elif zstyle -s ':omz:alpha:plugins:kubectx' async-prompt _style && [[ $_style == "force" ]]; then
_omz_register_handler _omz_kubectx_prompt_info
else
function kubectx_prompt_info() {
_omz_kubectx_prompt_info
}
fi
-3
View File
@@ -10,7 +10,6 @@ plugins=(... laravel)
|:-:|:-:| |:-:|:-:|
| `artisan` | `php artisan` | | `artisan` | `php artisan` |
| `pas` | `php artisan serve` | | `pas` | `php artisan serve` |
| `pad` | `php artisan dev` |
| `pats` | `php artisan test` | | `pats` | `php artisan test` |
## Database ## Database
@@ -42,8 +41,6 @@ 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
-3
View File
@@ -4,7 +4,6 @@ alias bob='php artisan bob::build'
# Development # Development
alias pas='php artisan serve' alias pas='php artisan serve'
alias pad='php artisan dev'
alias pats='php artisan test' alias pats='php artisan test'
# Database # Database
@@ -31,8 +30,6 @@ 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
+1 -1
View File
@@ -8,7 +8,7 @@ alias puo="sudo port upgrade outdated"
alias pup="sudo port selfupdate && sudo port upgrade outdated" alias pup="sudo port selfupdate && sudo port upgrade outdated"
port-livecheck-maintainer() { port-livecheck-maintainer() {
(( ${+commands[port]} )) || { (( ${+commands[port]} == 0 )) || {
print -- "port: not found" >&2 print -- "port: not found" >&2
return 1 return 1
} }
+1 -5
View File
@@ -10,8 +10,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_minikube" ]]; then
_comps[minikube]=_minikube _comps[minikube]=_minikube
fi fi
zmodload -F zsh/files b:zf_mv minikube completion zsh >| "$ZSH_CACHE_DIR/completions/_minikube" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_minikube"
zf_mv -f -- =( minikube completion zsh ) "$TMPPREFIX"
} &|
+3 -12
View File
@@ -1,14 +1,9 @@
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_bin activate zsh)" eval "$(mise 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.
@@ -19,8 +14,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_mise" ]]; then
fi fi
# Generate and load mise completion # Generate and load mise completion
zmodload -F zsh/files b:zf_mv mise completion zsh >| "$ZSH_CACHE_DIR/completions/_mise" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_mise"
zf_mv -f -- =( mise completion zsh ) "$TMPPREFIX"
} &|
+1 -5
View File
@@ -11,11 +11,7 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_molecule" ]]; then
_comps[molecule]=_molecule _comps[molecule]=_molecule
fi fi
zmodload -F zsh/files b:zf_mv _MOLECULE_COMPLETE=zsh_source molecule >| "$ZSH_CACHE_DIR/completions/_molecule" &|
() {
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/
+1 -5
View File
@@ -11,8 +11,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_atlas" ]]; then
_comps[atlas]=_atlas _comps[atlas]=_atlas
fi fi
zmodload -F zsh/files b:zf_mv atlas completion zsh >| "$ZSH_CACHE_DIR/completions/atlas" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_atlas"
zf_mv -f -- =( atlas completion zsh ) "$TMPPREFIX"
} &|
+2 -10
View File
@@ -7,11 +7,7 @@ if (( $+commands[nsc] )); then
_comps[nsc]=_nsc _comps[nsc]=_nsc
fi fi
zmodload -F zsh/files b:zf_mv nsc completion zsh >| "$ZSH_CACHE_DIR/completions/_nsc" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_nsc"
zf_mv -f -- =( nsc completion zsh ) "$TMPPREFIX"
} &|
fi fi
if (( $+commands[nats] )); then if (( $+commands[nats] )); then
@@ -23,9 +19,5 @@ if (( $+commands[nats] )); then
_comps[nats]=_nats _comps[nats]=_nats
fi fi
zmodload -F zsh/files b:zf_mv nats --completion-script-zsh >| "$ZSH_CACHE_DIR/completions/_nats" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_nats"
zf_mv -f -- =( nats --completion-script-zsh ) "$TMPPREFIX"
} &|
fi fi
+1 -5
View File
@@ -11,8 +11,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_ngrok" ]]; then
_comps[ngrok]=_ngrok _comps[ngrok]=_ngrok
fi fi
zmodload -F zsh/files b:zf_mv ngrok completion zsh >| "$ZSH_CACHE_DIR/completions/_ngrok" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_ngrok"
zf_mv -f -- =( ngrok completion zsh ) "$TMPPREFIX"
} &|
-111
View File
@@ -1,111 +0,0 @@
# opencode plugin
This plugin adds completion and aliases for the [OpenCode](https://opencode.ai) CLI.
Install OpenCode using its [installation instructions](https://opencode.ai/docs/#install),
and make sure `opencode` is available on your `$PATH`.
To enable it, add `opencode` to the plugins array in your `.zshrc`:
```zsh
plugins=(... opencode)
```
## Learning OpenCode from the terminal
Use tab completion to explore commands and their descriptions without leaving the
shell. For example, these are some of the candidates shown by the CLI:
```text
$ opencode <TAB>
agent -- manage agents
models -- list all available models
run -- run opencode with a message
session -- manage sessions
stats -- show token usage and cost statistics
...
$ opencode session <TAB>
delete -- delete a session
list -- list sessions
$ opencode run --<TAB>
--agent -- agent to use
--continue -- continue the last session
--file -- file(s) to attach to message
--model -- model to use in the format of provider/model
...
```
Completion works through the aliases too. Type a partial command or option and
press Tab to finish it:
```text
$ opc session li<TAB>
$ opc session list
$ opcr --att<TAB>
$ opcr --attach
$ opcc --log-l<TAB>
$ opcc --log-level
```
Candidates depend on your installed OpenCode version. In OpenCode 1.18.29, the
CLI's completion output omits top-level TUI flags such as `--model` and `--fork`,
even though those flags work when typed. Use `opencode --help` or
`opencode run --help` for the full options, and see the
[CLI reference](https://opencode.ai/docs/cli/) for more workflows.
## Aliases
| Alias | Command | Description |
| ------ | --------------------- | ----------------------------------- |
| `opc` | `opencode` | Launch the terminal UI |
| `opcc` | `opencode --continue` | Continue the last session |
| `opcr` | `opencode run` | Run a prompt without opening the UI |
To keep completion but skip the aliases, set this in your `.zshrc`, above the line
that sources Oh My Zsh:
```zsh
# ~/.zshrc
zstyle ':omz:plugins:opencode' aliases no
plugins=(... opencode)
source $ZSH/oh-my-zsh.sh
```
## Common workflows
All aliases accept additional arguments:
```zsh
# Open a project
opc ~/projects/my-app
# Explore a different approach by forking the last session
opcc --fork
# Ask a question without entering the terminal UI
opcr "Explain the test setup in this project"
# Reuse an already running backend to avoid MCP server cold starts
opcr --attach http://localhost:4096 "Explain this project's architecture"
```
## Completion
Completion queries the installed OpenCode CLI on demand for commands and options,
including through the aliases above. It falls back to Zsh's default completion when
the CLI returns no candidates. No OpenCode process is started at shell startup,
and no generated completion cache is needed.
## Credits
Based on the OpenCode plugin proposals by
[pranavavva](https://github.com/pranavavva) in
[#13545](https://github.com/ohmyzsh/ohmyzsh/pull/13545) and
[mskadu](https://github.com/mskadu) in
[#13794](https://github.com/ohmyzsh/ohmyzsh/pull/13794).
The completion adapter is derived from OpenCode's `opencode completion` output.
-12
View File
@@ -1,12 +0,0 @@
#compdef opencode
# Adapted from `opencode completion`, using the CLI's live Yargs completions.
local -a reply
reply=("${(@f)$(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" \
command opencode --get-yargs-completions "${words[@]}" < /dev/null 2> /dev/null)}")
if [[ -n "${reply[1]}" ]]; then
_describe 'values' reply
else
_default
fi
-7
View File
@@ -1,7 +0,0 @@
if (( ! $+commands[opencode] )); then
return
fi
alias opc='opencode'
alias opcc='opencode --continue'
alias opcr='opencode run'
+1 -5
View File
@@ -11,8 +11,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_pass-cli" ]]; then
_comps[pass-cli]=_pass-cli _comps[pass-cli]=_pass-cli
fi fi
zmodload -F zsh/files b:zf_mv pass-cli completions zsh >| "$ZSH_CACHE_DIR/completions/_pass-cli" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_pass-cli"
zf_mv -f -- =( pass-cli completions zsh ) "$TMPPREFIX"
} &|
@@ -91,14 +91,13 @@ bindkey -M vicmd $PER_DIRECTORY_HISTORY_TOGGLE per-directory-history-toggle-hist
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
_per_directory_history_directory="$HISTORY_BASE${PWD:A}/history" _per_directory_history_directory="$HISTORY_BASE${PWD:A}/history"
_per_directory_history_global="$HISTFILE"
function _per-directory-history-change-directory() { function _per-directory-history-change-directory() {
_per_directory_history_directory="$HISTORY_BASE${PWD:A}/history" _per_directory_history_directory="$HISTORY_BASE${PWD:A}/history"
mkdir -p ${_per_directory_history_directory:h} mkdir -p ${_per_directory_history_directory:h}
if [[ $_per_directory_history_is_global == false ]]; then if [[ $_per_directory_history_is_global == false ]]; then
#save to the global history #save to the global history
fc -AI "$_per_directory_history_global" fc -AI $HISTFILE
#save history to previous file #save history to previous file
local prev="$HISTORY_BASE${OLDPWD:A}/history" local prev="$HISTORY_BASE${OLDPWD:A}/history"
mkdir -p ${prev:h} mkdir -p ${prev:h}
@@ -126,9 +125,10 @@ function _per-directory-history-addhistory() {
if [[ -o share_history ]] || \ if [[ -o share_history ]] || \
[[ -o inc_append_history ]] || \ [[ -o inc_append_history ]] || \
[[ -o inc_append_history_time ]]; then [[ -o inc_append_history_time ]]; then
fc -AI "$_per_directory_history_global" fc -AI $HISTFILE
fc -AI $_per_directory_history_directory fc -AI $_per_directory_history_directory
fi fi
fc -p $_per_directory_history_directory
fi fi
} }
@@ -147,13 +147,12 @@ function _per-directory-history-precmd() {
} }
function _per-directory-history-set-directory-history() { function _per-directory-history-set-directory-history() {
fc -AI "$_per_directory_history_global" fc -AI $HISTFILE
local original_histsize=$HISTSIZE local original_histsize=$HISTSIZE
HISTSIZE=0 HISTSIZE=0
HISTSIZE=$original_histsize HISTSIZE=$original_histsize
if [[ -e "$_per_directory_history_directory" ]]; then if [[ -e "$_per_directory_history_directory" ]]; then
fc -R "$_per_directory_history_directory" fc -R "$_per_directory_history_directory"
fc -p "$_per_directory_history_directory"
fi fi
} }
@@ -162,9 +161,8 @@ function _per-directory-history-set-global-history() {
local original_histsize=$HISTSIZE local original_histsize=$HISTSIZE
HISTSIZE=0 HISTSIZE=0
HISTSIZE=$original_histsize HISTSIZE=$original_histsize
if [[ -e "$_per_directory_history_global" ]]; then if [[ -e "$HISTFILE" ]]; then
fc -R "$_per_directory_history_global" fc -R "$HISTFILE"
fc -p "$_per_directory_history_global"
fi fi
} }
+1 -13
View File
@@ -10,7 +10,7 @@ plugins=(... pipenv ...)
## Features ## Features
- Adds completion for pipenv ([install the `argcomplete` package to get it working with pipenv >= 2026.5.0](https://pipenv.pypa.io/en/latest/shell.html#shell-completion)) - Adds completion for pipenv
- Auto activates and deactivates pipenv shell - Auto activates and deactivates pipenv shell
- Adds short aliases for common pipenv commands - Adds short aliases for common pipenv commands
- `pch` is aliased to `pipenv check` - `pch` is aliased to `pipenv check`
@@ -29,18 +29,6 @@ plugins=(... pipenv ...)
- `pvenv` is aliased to `pipenv --venv` - `pvenv` is aliased to `pipenv --venv`
- `ppy` is aliased to `pipenv --py` - `ppy` is aliased to `pipenv --py`
## Cache
This plugin caches the Pipenv version to avoid running `pipenv --version` on every shell startup. The cache is automatically refreshed asynchronously when the plugin is loaded, which is usually when you start a new terminal session.
For legacy Pipenv versions, the generated completion script is also cached.
The cache is stored at:
- `$ZSH_CACHE_DIR/pipenv_version` version of Pipenv, used to choose between argcomplete-based completion and legacy Click-based completion.
- `$ZSH_CACHE_DIR/completions/_pipenv` legacy Click-based completion script.
## Configuration ## Configuration
### Shell activation ### Shell activation
+12 -58
View File
@@ -2,53 +2,15 @@ if (( ! $+commands[pipenv] )); then
return return
fi fi
# Compatibility note: # If the completion file doesn't exist yet, we need to autoload it and
# pipenv < 2026.5.0 used Click-based shell completion driven by the # bind it to `pipenv`. Otherwise, compinit will have already done that.
# _PIPENV_COMPLETE environment variable. if [[ ! -f "$ZSH_CACHE_DIR/completions/_pipenv" ]]; then
# typeset -g -A _comps
# pipenv >= 2026.5.0 removed this mechanism and switched to argcomplete-based autoload -Uz _pipenv
# completion using register-python-argcomplete instead. _comps[pipenv]=_pipenv
autoload -Uz is-at-least
_pipenv_version_cache="$ZSH_CACHE_DIR/pipenv_version"
if [[ -f "$_pipenv_version_cache" ]]; then
_pipenv_version="$(< "$_pipenv_version_cache" 2>/dev/null)"
else
_pipenv_version="${$(pipenv --version 2>/dev/null)#pipenv, version }"
fi fi
{ _PIPENV_COMPLETE=zsh_source pipenv >| "$ZSH_CACHE_DIR/completions/_pipenv" &|
_pipenv_fresh_version="${$(pipenv --version 2>/dev/null)#pipenv, version }"
[[ -n "$_pipenv_fresh_version" ]] && print -r -- "$_pipenv_fresh_version" >| "$_pipenv_version_cache"
} &|
if is-at-least 2026.5.0 "$_pipenv_version"; then
# pipenv >= 2026.5.0: argcomplete-based completion (no legacy fallback)
if (( $+commands[register-python-argcomplete] )); then
autoload -Uz bashcompinit
bashcompinit
eval "$(register-python-argcomplete pipenv)"
fi
else
# legacy Click-based completion via _PIPENV_COMPLETE
# If the completion file doesn't exist yet, we need to autoload it and
# bind it to `pipenv`. Otherwise, compinit will have already done that.
if [[ ! -f "$ZSH_CACHE_DIR/completions/_pipenv" ]]; then
typeset -g -A _comps
autoload -Uz _pipenv
_comps[pipenv]=_pipenv
fi
zmodload -F zsh/files b:zf_mv
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_pipenv"
zf_mv -f -- =( _PIPENV_COMPLETE=zsh_source pipenv ) "$TMPPREFIX"
} &|
fi
if zstyle -T ':omz:plugins:pipenv' auto-shell; then if zstyle -T ':omz:plugins:pipenv' auto-shell; then
# Automatic pipenv shell activation/deactivation # Automatic pipenv shell activation/deactivation
@@ -56,30 +18,22 @@ 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
# Compare whole path components: `$pipfile_dir"*` also matches unrelated if [[ "$PWD" != "$pipfile_dir"* ]]; then
# 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 and its virtualenv is usable # activate the shell if Pipfile exists
if [[ "$PIPENV_ACTIVE" != 1 ]]; then if [[ "$PIPENV_ACTIVE" != 1 ]]; then
if [[ -f "$PWD/Pipfile" ]]; then if [[ -f "$PWD/Pipfile" ]]; then
local venv_path export pipfile_dir="$PWD"
if venv_path="$(pipenv --venv 2>/dev/null)" && [[ -n "$venv_path" && -f "$venv_path/bin/activate" ]]; then source "$(pipenv --venv)/bin/activate"
export pipfile_dir="$PWD" export PIPENV_ACTIVE=1
source "$venv_path/bin/activate"
export PIPENV_ACTIVE=1
fi
fi fi
fi fi
} }
autoload -U add-zsh-hook autoload -U add-zsh-hook
add-zsh-hook chpwd _togglePipenvShell add-zsh-hook chpwd _togglePipenvShell
_togglePipenvShell _togglePipenvShell
+1 -1
View File
@@ -314,7 +314,7 @@ _pm2_subcommands() {
(( $+functions[_pm2_id_names] )) || (( $+functions[_pm2_id_names] )) ||
_pm2_id_names() { _pm2_id_names() {
local app_list=$(pm2 list -m) local app_list=$(pm2 list -m)
local -a names=(${(@f)"$(echo $app_list | awk '/^\+---/{sub("\\+--- ", ""); print}')"}) local -a names=(${(@f)"$(echo $app_list | awk '/^\+---/{sub("+--- ", ""); print}')"})
local -a ids=(${(@f)"$(echo $app_list | awk '/^pm2 id/{sub("pm2 id :", ""); print}')"}) local -a ids=(${(@f)"$(echo $app_list | awk '/^pm2 id/{sub("pm2 id :", ""); print}')"})
if (( ${#ids} > 0 )); then if (( ${#ids} > 0 )); then
+1 -5
View File
@@ -10,11 +10,7 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_podman" ]]; then
_comps[podman]=_podman _comps[podman]=_podman
fi fi
zmodload -F zsh/files b:zf_mv podman completion zsh 2> /dev/null >| "$ZSH_CACHE_DIR/completions/_podman" &|
() {
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'
+2 -4
View File
@@ -1,9 +1,7 @@
# Poetry Environment Plugin # Poetry Environment Plugin
This plugin automatically activates a Poetry environment when you enter a This plugin automatically changes poetry environment when you cd into or out of the project directory.
directory containing both `pyproject.toml` and `poetry.lock`. It keeps the Note: Script looks for pyproject.toml file to determine poetry if its a poetry environment
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:
+6 -15
View File
@@ -1,29 +1,20 @@
_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 when leaving the active project or entering a nested project # Deactivate the current environment if moving out of a Poetry directory or into a different Poetry directory
if [[ $poetry_active -eq 1 ]]; then if [[ $poetry_active -eq 1 ]] && { [[ $in_poetry_dir -eq 0 ]] || [[ "$PWD" != "$poetry_dir"* ]]; }; then
local project_dir="${poetry_dir%/}" export poetry_active=0
if [[ "$PWD" == "$project_dir" || "$PWD" == "$project_dir"/* ]]; then unset poetry_dir
in_active_poetry_dir=1 (( $+functions[deactivate] )) && deactivate
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
local venv_dir=$(poetry env info --path 2>/dev/null) 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"
+1 -5
View File
@@ -39,8 +39,4 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_poetry" ]]; then
_comps[poetry]=_poetry _comps[poetry]=_poetry
fi fi
zmodload -F zsh/files b:zf_mv poetry completions zsh >| "$ZSH_CACHE_DIR/completions/_poetry" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_poetry"
zf_mv -f -- =( poetry completions zsh ) "$TMPPREFIX"
} &|
+6 -10
View File
@@ -10,16 +10,12 @@ 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)
zf_mv -f -- =( if is-at-least "0.14" "${_version#procs }"; then
if is-at-least "0.14" "${_version#procs }"; then procs --gen-completion-out zsh >| "$ZSH_CACHE_DIR/completions/_procs"
procs --gen-completion-out zsh else
else procs --completion-out zsh >| "$ZSH_CACHE_DIR/completions/_procs"
procs --completion-out zsh fi
fi
) "$TMPPREFIX"
} &| } &|
+1 -1
View File
@@ -1,7 +1,7 @@
# Pulumi # Pulumi
This is an **Oh My Zsh plugin** for the [**Pulumi CLI**](https://www.pulumi.com/docs/iac/cli/), This is an **Oh My Zsh plugin** for the [**Pulumi CLI**](https://www.pulumi.com/docs/iac/cli/),
an Infrastructure as Code (IaC) tool for building, deploying and managing cloud infrastructure. an Infrastructure as Code (IaC) tool for building, deploying and managing cloud infrastucture.
This plugin provides: This plugin provides:
+1 -5
View File
@@ -10,11 +10,7 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_pulumi" ]]; then
_comps[pulumi]=_pulumi _comps[pulumi]=_pulumi
fi fi
zmodload -F zsh/files b:zf_mv pulumi gen-completion zsh >| "$ZSH_CACHE_DIR/completions/_pulumi" &|
() {
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_pulumi"
zf_mv -f -- =( pulumi gen-completion zsh ) "$TMPPREFIX"
} &|
# Aliases # Aliases
alias pul='pulumi' alias pul='pulumi'

Some files were not shown because too many files have changed in this diff Show More