mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2026-10-05 01:13:49 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b20d95c390 |
No files matched your search
@@ -12,7 +12,7 @@ dependencies:
|
||||
plugins/gradle:
|
||||
repo: gradle/gradle-completion
|
||||
branch: master
|
||||
version: 05693a01fcb246bc4e8fc32a8d561dc537aaedf2
|
||||
version: e7c881dbef7462bc35ad05328397e1582fe25cb8
|
||||
precopy: |
|
||||
set -e
|
||||
find . ! -name _gradle ! -name LICENSE -delete
|
||||
@@ -30,7 +30,7 @@ dependencies:
|
||||
plugins/kube-ps1:
|
||||
repo: jonmosco/kube-ps1
|
||||
branch: master
|
||||
version: 7aaaeee5eaa29f920acd850ea63839d9f87b8ac5
|
||||
version: b4cd09ec8d4dc007173e28da40aeebf8eff8c87f
|
||||
precopy: |
|
||||
set -e
|
||||
find . ! -name kube-ps1.sh ! -name LICENSE ! -name README.md -delete
|
||||
@@ -46,7 +46,7 @@ dependencies:
|
||||
plugins/z:
|
||||
branch: master
|
||||
repo: agkozak/zsh-z
|
||||
version: 7f8ff4df11b50a14e3666c7cd212baa399c9b92a
|
||||
version: 102fb78036ed76feedf623907483691777a1d510
|
||||
precopy: |
|
||||
set -e
|
||||
rm -r tests
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
certifi==2026.7.22
|
||||
charset-normalizer==3.5.1
|
||||
idna==3.20
|
||||
idna==3.19
|
||||
PyYAML==6.0.3
|
||||
requests==2.34.2
|
||||
semver==3.1.0
|
||||
|
||||
@@ -60,6 +60,6 @@ jobs:
|
||||
retention-days: 5
|
||||
|
||||
- name: "Upload to code-scanning"
|
||||
uses: github/codeql-action/upload-sarif@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
|
||||
uses: github/codeql-action/upload-sarif@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
+1
-2
@@ -178,8 +178,7 @@ function omz_urlencode() {
|
||||
setopt norematchpcre
|
||||
|
||||
local -a opts
|
||||
# Quote the specs so global aliases (e.g. common-aliases' P) don't expand here
|
||||
zparseopts -D -E -a opts 'r' 'm' 'P'
|
||||
zparseopts -D -E -a opts r m P
|
||||
|
||||
local in_str="$@"
|
||||
local url_str=""
|
||||
|
||||
@@ -11,8 +11,8 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._op"
|
||||
zf_mv -f -- =( 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
|
||||
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
# Generate and load arduino-cli completion
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._arduino-cli"
|
||||
zf_mv -f -- =( 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"
|
||||
} &|
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._argocd"
|
||||
zf_mv -f -- =( argocd completion zsh ) "$ZSH_CACHE_DIR/completions/_argocd"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_argocd"
|
||||
zf_mv -f -- =( argocd completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -14,6 +14,6 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_asdf" ]]; then
|
||||
fi
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._asdf"
|
||||
zf_mv -f -- =( asdf completion zsh ) "$ZSH_CACHE_DIR/completions/_asdf"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_asdf"
|
||||
zf_mv -f -- =( asdf completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
# Generate and load buf completion
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._buf"
|
||||
zf_mv -f -- =( buf completion zsh ) "$ZSH_CACHE_DIR/completions/_buf"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_buf"
|
||||
zf_mv -f -- =( buf completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._bun"
|
||||
zf_mv -f -- =( SHELL=zsh bun completions ) "$ZSH_CACHE_DIR/completions/_bun"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_bun"
|
||||
zf_mv -f -- =( SHELL=zsh bun completions ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._charm"
|
||||
zf_mv -f -- =( charm completion zsh ) "$ZSH_CACHE_DIR/completions/_charm"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_charm"
|
||||
zf_mv -f -- =( charm completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._chezmoi"
|
||||
zf_mv -f -- =( chezmoi completion zsh ) "$ZSH_CACHE_DIR/completions/_chezmoi"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_chezmoi"
|
||||
zf_mv -f -- =( chezmoi completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -13,6 +13,6 @@ 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 ) "$ZSH_CACHE_DIR/completions/_codex"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_codex"
|
||||
zf_mv -f -- =( codex completion zsh < /dev/null 2> /dev/null ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -27,6 +27,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._deno"
|
||||
zf_mv -f -- =( deno completions zsh ) "$ZSH_CACHE_DIR/completions/_deno"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_deno"
|
||||
zf_mv -f -- =( deno completions zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -68,7 +68,7 @@ zmodload -F zsh/files b:zf_mv
|
||||
! is-at-least 23.0.0 ${${(s:,:z)"$(command docker --version)"}[3]}; then
|
||||
command cp "${plugin_dir}/completions/_docker" "$ZSH_CACHE_DIR/completions/_docker"
|
||||
else
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._docker"
|
||||
zf_mv -f -- =( command docker completion zsh ) "$ZSH_CACHE_DIR/completions/_docker"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_docker"
|
||||
zf_mv -f -- =( command docker completion zsh ) "$TMPPREFIX"
|
||||
fi
|
||||
} "${0:A:h}" &|
|
||||
@@ -16,6 +16,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._doctl"
|
||||
zf_mv -f -- =( doctl completion zsh ) "$ZSH_CACHE_DIR/completions/_doctl"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_doctl"
|
||||
zf_mv -f -- =( doctl completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -35,8 +35,7 @@ alias eeval="$EMACS_PLUGIN_LAUNCHER --eval"
|
||||
alias eframe='emacsclient --alternate-editor="" --create-frame'
|
||||
|
||||
# Emacs ANSI Term tracking
|
||||
local excluded_terms=(vterm ghostel)
|
||||
if [[ -n "$INSIDE_EMACS" ]] && (( ! ${excluded_terms[(Ie)${INSIDE_EMACS%%,*}]} )); then
|
||||
if [[ -n "$INSIDE_EMACS" ]] && [[ "$INSIDE_EMACS" != "vterm" ]]; then
|
||||
chpwd_emacs() { print -P "\033AnSiTc %d"; }
|
||||
print -P "\033AnSiTc %d" # Track current working directory
|
||||
print -P "\033AnSiTu %n" # Track username
|
||||
|
||||
@@ -32,9 +32,8 @@ emacsfun() {
|
||||
# Check if there are suitable frames
|
||||
frames="$(emacsclient -a '' -n -e "$cmd" 2>/dev/null |sed 's/.*\x07//g' )"
|
||||
|
||||
# A bare emacs/e passes only --no-wait, so it still needs --create-frame.
|
||||
if [ -z "$frames" ] || [ "$frames" = nil ] || [ "$#" -eq 0 ] \
|
||||
|| { [ "$#" -eq 1 ] && [ "$1" = --no-wait ]; }; then
|
||||
# Only create another X frame if there isn't one present
|
||||
if [ -z "$frames" -o "$frames" = nil ]; then
|
||||
emacsclient --alternate-editor="" --create-frame "$@"
|
||||
return $?
|
||||
fi
|
||||
|
||||
@@ -119,17 +119,7 @@ EOF
|
||||
fi ;;
|
||||
(*.rpm)
|
||||
rpm2cpio "$full_path" | cpio --quiet -id ;;
|
||||
(*.7z | *.7z.[0-9]* | *.pk7)
|
||||
if (( $+commands[7zz] )); then
|
||||
7zz x "$full_path"
|
||||
elif (( $+commands[7z] )); then
|
||||
7z x "$full_path"
|
||||
elif (( $+commands[7za] )); then
|
||||
7za x "$full_path"
|
||||
else
|
||||
echo "extract: cannot extract 7z files: install 7zz, 7z or 7za" >&2
|
||||
success=1
|
||||
fi ;;
|
||||
(*.7z | *.7z.[0-9]* | *.pk7) 7za x "$full_path" ;;
|
||||
(*.deb)
|
||||
command mkdir -p "control" "data"
|
||||
ar vx "$full_path" > /dev/null
|
||||
|
||||
@@ -32,6 +32,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._flutter"
|
||||
zf_mv -f -- =( 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"
|
||||
} &|
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._flux"
|
||||
zf_mv -f -- =( flux completion zsh ) "$ZSH_CACHE_DIR/completions/_flux"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_flux"
|
||||
zf_mv -f -- =( flux completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -12,8 +12,8 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._fnm"
|
||||
zf_mv -f -- =( 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
|
||||
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._gcx"
|
||||
zf_mv -f -- =( gcx completion zsh ) "$ZSH_CACHE_DIR/completions/_gcx"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_gcx"
|
||||
zf_mv -f -- =( gcx completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -18,3 +18,5 @@ plugin is loaded, which is usually when you start up a new terminal emulator.
|
||||
The cache is stored at:
|
||||
|
||||
- `$ZSH_CACHE_DIR/completions/_gh` completions script
|
||||
|
||||
If an update fails, the last successfully generated completion script is kept.
|
||||
@@ -13,6 +13,12 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._gh"
|
||||
zf_mv -f -- =( gh completion --shell zsh ) "$ZSH_CACHE_DIR/completions/_gh"
|
||||
local completion_file="$ZSH_CACHE_DIR/completions/_gh"
|
||||
local completion_tmp="${completion_file}.$$.${RANDOM}"
|
||||
|
||||
if gh completion --shell zsh >| "$completion_tmp" && [[ -s "$completion_tmp" ]]; then
|
||||
zf_mv -f -- "$completion_tmp" "$completion_file"
|
||||
fi
|
||||
|
||||
command rm -f -- "$completion_tmp"
|
||||
} &|
|
||||
@@ -108,7 +108,6 @@ plugins=(... git)
|
||||
| `glo` | `git log --oneline --decorate` |
|
||||
| `glog` | `git log --oneline --decorate --graph` |
|
||||
| `gloga` | `git log --oneline --decorate --graph --all` |
|
||||
| `glom` | `git log --oneline --decorate --color $(git_main_branch)..` |
|
||||
| `glp` | `git log --pretty=<format>` |
|
||||
| `glg` | `git log --stat` |
|
||||
| `glgp` | `git log --stat --patch` |
|
||||
@@ -156,8 +155,6 @@ plugins=(... git)
|
||||
| `grba` | `git rebase --abort` |
|
||||
| `grbc` | `git rebase --continue` |
|
||||
| `grbi` | `git rebase --interactive` |
|
||||
| `grbmi` | `git rebase $(git_main_branch) --interactive` |
|
||||
| `grbmia` | `git rebase $(git_main_branch) --interactive --autosquash` |
|
||||
| `grbo` | `git rebase --onto` |
|
||||
| `grbs` | `git rebase --skip` |
|
||||
| `grbd` | `git rebase $(git_develop_branch)` |
|
||||
@@ -205,10 +202,8 @@ plugins=(... git)
|
||||
| `gst` | `git status` |
|
||||
| `gss` | `git status --short` |
|
||||
| `gsb` | `git status --short -b` |
|
||||
| `gsnut` | `git status --untracked-files=no` |
|
||||
| `gsi` | `git submodule init` |
|
||||
| `gsu` | `git submodule update` |
|
||||
| `gsuri` | `git submodule update --recursive --init` |
|
||||
| `gsd` | `git svn dcommit` |
|
||||
| `git-svn-dcommit-push` | `git svn dcommit && git push github $(git_main_branch):svntrunk` |
|
||||
| `gsr` | `git svn rebase` |
|
||||
|
||||
@@ -253,7 +253,6 @@ alias glolm='git log $(git_main_branch) --graph --pretty="%Cred%h%Creset -%C(aut
|
||||
alias glo='git log --oneline --decorate'
|
||||
alias glog='git log --oneline --decorate --graph'
|
||||
alias gloga='git log --oneline --decorate --graph --all'
|
||||
alias glom='git log --oneline --decorate --color $(git_main_branch)..'
|
||||
|
||||
# Pretty log messages
|
||||
function _git_log_prettily(){
|
||||
@@ -363,8 +362,6 @@ alias grbd='git rebase $(git_develop_branch)'
|
||||
alias grbm='git rebase $(git_main_branch)'
|
||||
alias grbom='git rebase origin/$(git_main_branch)'
|
||||
alias grbum='git rebase upstream/$(git_main_branch)'
|
||||
alias grbmi='git rebase $(git_main_branch) --interactive'
|
||||
alias grbmia='git rebase $(git_main_branch) --interactive --autosquash'
|
||||
alias grf='git reflog'
|
||||
alias gr='git remote'
|
||||
alias grv='git remote --verbose'
|
||||
@@ -407,10 +404,8 @@ alias gsts='git stash show --patch'
|
||||
alias gst='git status'
|
||||
alias gss='git status --short'
|
||||
alias gsb='git status --short --branch'
|
||||
alias gsnut='git status --untracked-files=no'
|
||||
alias gsi='git submodule init'
|
||||
alias gsu='git submodule update'
|
||||
alias gsuri='git submodule update --recursive --init'
|
||||
alias gsd='git svn dcommit'
|
||||
alias git-svn-dcommit-push='git svn dcommit && git push github $(git_main_branch):svntrunk'
|
||||
alias gsr='git svn rebase'
|
||||
|
||||
+36
-34
@@ -1,43 +1,45 @@
|
||||
# github plugin
|
||||
|
||||
> [!WARNING]
|
||||
> This plugin is deprecated and will be removed in a future release. It supports
|
||||
> the legacy [`hub`](https://github.com/mislav/hub) CLI, not the current GitHub
|
||||
> CLI. For `gh` completion, use the [`gh` plugin](../gh) instead.
|
||||
This plugin supports working with GitHub from the command line. It provides a few things:
|
||||
|
||||
The plugin provides compatibility for existing `hub` users by:
|
||||
* Sets up the `hub` wrapper and completions for the `git` command if you have [`hub`](https://github.com/github/hub) installed.
|
||||
* Completion for the [`github` Ruby gem](https://github.com/defunkt/github-gem).
|
||||
* Convenience functions for working with repos and URLs.
|
||||
|
||||
- aliasing `git` to `hub` when `hub` is installed;
|
||||
- adding completion for `hub`; and
|
||||
- defining convenience functions for creating repositories.
|
||||
### Functions
|
||||
|
||||
## Migrating to GitHub CLI
|
||||
* `empty_gh` - Creates a new empty repo (with a `README.md`) and pushes it to GitHub
|
||||
* `new_gh` - Initializes an existing directory as a repo and pushes it to GitHub
|
||||
* `exist_gh` - Takes an existing repo and pushes it to GitHub
|
||||
|
||||
Install [GitHub CLI](https://cli.github.com/), replace `github` with `gh` in
|
||||
your plugin list, and restart your shell:
|
||||
|
||||
## Installation
|
||||
|
||||
[Hub](https://github.com/github/hub) needs to be installed if you want to use it. On OS X with Homebrew, this can be done with `brew install hub`. The `hub` completion definition needs to be added to your `$FPATH` before initializing OMZ.
|
||||
|
||||
The [`github` Ruby gem](https://github.com/defunkt/github-gem) needs to be installed if you want to use it.
|
||||
|
||||
### Configuration
|
||||
|
||||
These settings affect `github`'s behavior.
|
||||
|
||||
#### Environment variables
|
||||
|
||||
* `$GITHUB_USER`
|
||||
* `$GITHUB_PASSWORD`
|
||||
|
||||
#### Git configuration options
|
||||
|
||||
* `github.user` - GitHub username for repo operations
|
||||
|
||||
See `man hub` for more details.
|
||||
|
||||
### Homebrew installation note
|
||||
|
||||
If you have installed `hub` using Homebrew, its completions may not be on your `$FPATH` if you are using the system `zsh`. Homebrew installs `zsh` completion definitions to `/usr/local/share/zsh/site-functions`, which will be on `$FPATH` for the Homebrew-installed `zsh`, but not for the system `zsh`. If you want it to work with the system `zsh`, add this to your `~/.zshrc` before it sources `oh-my-zsh.sh`.
|
||||
|
||||
```zsh
|
||||
plugins=(... gh)
|
||||
if (( ! ${fpath[(I)/usr/local/share/zsh/site-functions]} )); then
|
||||
FPATH=/usr/local/share/zsh/site-functions:$FPATH
|
||||
fi
|
||||
```
|
||||
|
||||
The `gh` plugin supplies completion for the installed GitHub CLI. It does not
|
||||
alias `git`, because `gh` is not a Git wrapper.
|
||||
|
||||
The closest replacement for creating a GitHub repository from an existing
|
||||
local repository is:
|
||||
|
||||
```zsh
|
||||
gh repo create --source=. --push
|
||||
```
|
||||
|
||||
## Deprecated functions
|
||||
|
||||
- `empty_gh` - creates a new repository with a `README.md` and pushes it to GitHub
|
||||
- `new_gh` - initializes an existing directory and pushes it to GitHub
|
||||
- `exist_gh` - pushes an existing Git repository to GitHub
|
||||
|
||||
These functions remain available during the deprecation period and require
|
||||
`hub`. They will be removed with the plugin.
|
||||
|
||||
If you continue using `hub`, see its documentation for authentication and
|
||||
configuration details.
|
||||
@@ -1,6 +1,3 @@
|
||||
print -Pru2 -- '%F{yellow}[oh-my-zsh] The %Bgithub%b plugin is deprecated and will be removed in a future release.'
|
||||
print -Pru2 -- 'It supports the legacy %Bhub%b CLI. Use the %Bgh%b plugin for GitHub CLI completion.%f'
|
||||
|
||||
# Set up hub wrapper for git, if it is available; https://github.com/github/hub
|
||||
if (( $+commands[hub] )); then
|
||||
alias git=hub
|
||||
@@ -29,7 +26,7 @@ empty_gh() { # [NAME_OF_REPO]
|
||||
# This function will add all non-hidden files to git.
|
||||
new_gh() { # [DIRECTORY]
|
||||
emulate -L zsh
|
||||
local repo="${1-.}"
|
||||
local repo="$1"
|
||||
cd "$repo" \
|
||||
|| return
|
||||
|
||||
@@ -45,7 +42,7 @@ new_gh() { # [DIRECTORY]
|
||||
|| return
|
||||
hub create \
|
||||
|| return
|
||||
git push -u origin HEAD \
|
||||
git push -u origin master \
|
||||
|| return
|
||||
}
|
||||
|
||||
@@ -55,19 +52,18 @@ new_gh() { # [DIRECTORY]
|
||||
# to your GitHub.
|
||||
exist_gh() { # [DIRECTORY]
|
||||
emulate -L zsh
|
||||
local repo="${1:-.}"
|
||||
cd "$repo" \
|
||||
|| return
|
||||
local repo=$1
|
||||
cd "$repo"
|
||||
|
||||
hub create \
|
||||
|| return
|
||||
git push -u origin HEAD
|
||||
git push -u origin master
|
||||
}
|
||||
|
||||
# git.io "GitHub URL"
|
||||
#
|
||||
# Shorten GitHub url, example:
|
||||
# https://github.com/nvogel/dotzsh > https://git.io/8nU25w
|
||||
# https://github.com/nvogel/dotzsh > https://git.io/8nU25w
|
||||
# source: https://github.com/nvogel/dotzsh
|
||||
# documentation: https://github.com/blog/985-git-io-github-url-shortener
|
||||
#
|
||||
@@ -78,3 +74,4 @@ git.io() {
|
||||
}
|
||||
|
||||
# End Functions #############################################################
|
||||
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._glab"
|
||||
zf_mv -f -- =( glab completion -s zsh ) "$ZSH_CACHE_DIR/completions/_glab"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_glab"
|
||||
zf_mv -f -- =( glab completion -s zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -267,7 +267,6 @@ __gradle_subcommand() {
|
||||
'-Dorg.gradle.configuration-cache.problems=[Configures how the configuration cache handles problems (fail or warn). Supported values are 'warn', or 'fail' (default).]:org.gradle.configuration cache.problems:(fail warn)' \
|
||||
'-Dorg.gradle.configuration-cache.read-only=[]' \
|
||||
'-Dorg.gradle.configuration-cache.unsafe.ignore.unsupported-build-events-listeners=[]' \
|
||||
'-Dorg.gradle.configuration-cache.unsafe.skip-task-logging-listeners-serialization=[]' \
|
||||
'-Dorg.gradle.configuration-cache=[Enables the configuration cache. Gradle will try to reuse the build configuration from previous builds.]' \
|
||||
'-Dorg.gradle.configureondemand=[Configures necessary projects only. Gradle will attempt to reduce configuration time for large multi-project builds.]' \
|
||||
'-Dorg.gradle.console.interactive=[]' \
|
||||
@@ -297,7 +296,6 @@ __gradle_subcommand() {
|
||||
'-Dorg.gradle.jvmargs=[]' \
|
||||
'-Dorg.gradle.logging.level=[]:org.gradle.logging.level:(quiet warn info debug)' \
|
||||
'-Dorg.gradle.logging.stacktrace=[]' \
|
||||
'-Dorg.gradle.mirror.maven.settings=[]' \
|
||||
'-Dorg.gradle.native=[]' \
|
||||
'-Dorg.gradle.parallel=[Builds projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use.]:org.gradle.parallel:(true false)' \
|
||||
'-Dorg.gradle.priority=[Specifies the scheduling priority for the Gradle daemon and all processes launched by it. Supported values are 'normal' (default) or 'low'.]:org.gradle.priority:(normal low)' \
|
||||
@@ -409,7 +407,6 @@ _gradle() {
|
||||
'-Dorg.gradle.configuration-cache.problems=[Configures how the configuration cache handles problems (fail or warn). Supported values are 'warn', or 'fail' (default).]:org.gradle.configuration cache.problems:(fail warn):->argument-expected' \
|
||||
'-Dorg.gradle.configuration-cache.read-only=[]:->argument-expected' \
|
||||
'-Dorg.gradle.configuration-cache.unsafe.ignore.unsupported-build-events-listeners=[]:->argument-expected' \
|
||||
'-Dorg.gradle.configuration-cache.unsafe.skip-task-logging-listeners-serialization=[]:->argument-expected' \
|
||||
'-Dorg.gradle.configuration-cache=[Enables the configuration cache. Gradle will try to reuse the build configuration from previous builds.]:->argument-expected' \
|
||||
'-Dorg.gradle.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' \
|
||||
@@ -439,7 +436,6 @@ _gradle() {
|
||||
'-Dorg.gradle.jvmargs=[]:->argument-expected' \
|
||||
'-Dorg.gradle.logging.level=[]:org.gradle.logging.level:(quiet warn info debug):->argument-expected' \
|
||||
'-Dorg.gradle.logging.stacktrace=[]:->argument-expected' \
|
||||
'-Dorg.gradle.mirror.maven.settings=[]:->argument-expected' \
|
||||
'-Dorg.gradle.native=[]:->argument-expected' \
|
||||
'-Dorg.gradle.parallel=[Builds projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use.]:org.gradle.parallel:(true false):->argument-expected' \
|
||||
'-Dorg.gradle.priority=[Specifies the scheduling priority for the Gradle daemon and all processes launched by it. Supported values are 'normal' (default) or 'low'.]:org.gradle.priority:(normal low):->argument-expected' \
|
||||
|
||||
@@ -11,7 +11,7 @@ else
|
||||
source "$ZSH_CACHE_DIR/completions/_hasura"
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._hasura"
|
||||
zf_mv -f -- =( hasura completion zsh ) "$ZSH_CACHE_DIR/completions/_hasura"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_hasura"
|
||||
zf_mv -f -- =( hasura completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
fi
|
||||
@@ -15,8 +15,8 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._hcloud"
|
||||
zf_mv -f -- =( 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
|
||||
|
||||
@@ -11,8 +11,8 @@ else
|
||||
source "$ZSH_CACHE_DIR/completions/_helm"
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._helm"
|
||||
zf_mv -f -- =( helm completion zsh ) "$ZSH_CACHE_DIR/completions/_helm"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_helm"
|
||||
zf_mv -f -- =( helm completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
fi
|
||||
|
||||
|
||||
@@ -63,6 +63,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._herdr"
|
||||
zf_mv -f -- =( herdr completion zsh < /dev/null 2> /dev/null ) "$ZSH_CACHE_DIR/completions/_herdr"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_herdr"
|
||||
zf_mv -f -- =( herdr completion zsh < /dev/null 2> /dev/null ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -10,6 +10,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._hermes"
|
||||
zf_mv -f -- =( hermes completion zsh < /dev/null 2> /dev/null ) "$ZSH_CACHE_DIR/completions/_hermes"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_hermes"
|
||||
zf_mv -f -- =( hermes completion zsh < /dev/null 2> /dev/null ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -13,8 +13,8 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._jj"
|
||||
zf_mv -f -- =( 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() {
|
||||
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
# the actual completion file will be loaded.
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._k9s"
|
||||
zf_mv -f -- =( k9s completion zsh ) "$ZSH_CACHE_DIR/completions/_k9s"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_k9s"
|
||||
zf_mv -f -- =( k9s completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -13,8 +13,8 @@ fi
|
||||
# Generate and load kind completion
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._kind"
|
||||
zf_mv -f -- =( kind completion zsh ) "$ZSH_CACHE_DIR/completions/_kind"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_kind"
|
||||
zf_mv -f -- =( kind completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
|
||||
# Register aliases
|
||||
|
||||
@@ -39,7 +39,6 @@ KUBE_PS1_HIDE_IF_NOCONTEXT="${KUBE_PS1_HIDE_IF_NOCONTEXT:-false}"
|
||||
_KUBE_PS1_KUBECONFIG_CACHE="${KUBECONFIG}"
|
||||
_KUBE_PS1_DISABLE_PATH="${HOME}/.kube/kube-ps1/disabled"
|
||||
_KUBE_PS1_LAST_TIME=0
|
||||
_KUBE_PS1_HAS_CONTEXT=false
|
||||
|
||||
# Determine our shell
|
||||
_kube_ps1_shell_type() {
|
||||
@@ -265,21 +264,15 @@ _kube_ps1_prompt_update() {
|
||||
[[ "${KUBE_PS1_ENABLED}" == "off" ]] && return $return_code
|
||||
|
||||
if ! _kube_ps1_binary_check "${KUBE_PS1_BINARY}"; then
|
||||
# Unable to determine context availability; preserve the existing
|
||||
# BINARY-N/A prompt instead of treating it as no context.
|
||||
# No ability to fetch context/namespace; display N/A.
|
||||
KUBE_PS1_CONTEXT="BINARY-N/A"
|
||||
KUBE_PS1_NAMESPACE="N/A"
|
||||
unset _KUBE_PS1_HAS_CONTEXT
|
||||
# Refresh when the binary becomes available again.
|
||||
_KUBE_PS1_LAST_TIME=0
|
||||
return $return_code
|
||||
fi
|
||||
|
||||
if [[ "${_KUBE_PS1_LAST_TIME}" == 0 ]] ||
|
||||
[[ "${KUBECONFIG}" != "${_KUBE_PS1_KUBECONFIG_CACHE}" ]]; then
|
||||
# Fetch initially, even if no config file exists, and whenever the
|
||||
# user changes KUBECONFIG.
|
||||
_KUBE_PS1_KUBECONFIG_CACHE="${KUBECONFIG}"
|
||||
if [[ "${KUBECONFIG}" != "${_KUBE_PS1_KUBECONFIG_CACHE}" ]]; then
|
||||
# User changed KUBECONFIG; unconditionally refetch.
|
||||
_KUBE_PS1_KUBECONFIG_CACHE=${KUBECONFIG}
|
||||
_kube_ps1_get_context_ns
|
||||
return $return_code
|
||||
fi
|
||||
@@ -307,30 +300,13 @@ _kube_ps1_prompt_update() {
|
||||
}
|
||||
|
||||
_kube_ps1_get_context() {
|
||||
local context
|
||||
if [[ "${KUBE_PS1_CONTEXT_ENABLE}" == true ]]; then
|
||||
KUBE_PS1_CONTEXT="$(${KUBE_PS1_BINARY} config current-context 2>/dev/null)"
|
||||
KUBE_PS1_CONTEXT="${KUBE_PS1_CONTEXT:-N/A}"
|
||||
|
||||
# Context availability must be detected even when context display is
|
||||
# disabled but KUBE_PS1_HIDE_IF_NOCONTEXT is enabled.
|
||||
if [[ "${KUBE_PS1_CONTEXT_ENABLE}" != true ]] &&
|
||||
[[ "${KUBE_PS1_HIDE_IF_NOCONTEXT}" != true ]]; then
|
||||
KUBE_PS1_CONTEXT=
|
||||
return
|
||||
fi
|
||||
|
||||
context="$("${KUBE_PS1_BINARY}" config current-context 2>/dev/null)"
|
||||
|
||||
_KUBE_PS1_HAS_CONTEXT=false
|
||||
[[ -n "${context}" ]] && _KUBE_PS1_HAS_CONTEXT=true
|
||||
|
||||
if [[ "${KUBE_PS1_CONTEXT_ENABLE}" != true ]]; then
|
||||
KUBE_PS1_CONTEXT=
|
||||
return
|
||||
fi
|
||||
|
||||
KUBE_PS1_CONTEXT="${context:-N/A}"
|
||||
|
||||
if [[ -n "${KUBE_PS1_CLUSTER_FUNCTION}" ]]; then
|
||||
KUBE_PS1_CONTEXT="$("${KUBE_PS1_CLUSTER_FUNCTION}" "${KUBE_PS1_CONTEXT}")"
|
||||
if [[ -n "${KUBE_PS1_CLUSTER_FUNCTION}" ]]; then
|
||||
KUBE_PS1_CONTEXT="$("${KUBE_PS1_CLUSTER_FUNCTION}" "${KUBE_PS1_CONTEXT}")"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -349,7 +325,7 @@ _kube_ps1_get_context_ns() {
|
||||
# Set the command time
|
||||
if [[ "${_KUBE_PS1_SHELL}" == "bash" ]]; then
|
||||
if ((BASH_VERSINFO[0] > 4 || (BASH_VERSINFO[0] == 4 && BASH_VERSINFO[1] >= 2))); then
|
||||
printf -v _KUBE_PS1_LAST_TIME '%(%s)T' -1
|
||||
_KUBE_PS1_LAST_TIME=$(printf '%(%s)T')
|
||||
else
|
||||
_KUBE_PS1_LAST_TIME=$(date +%s)
|
||||
fi
|
||||
@@ -431,11 +407,8 @@ kubeoff() {
|
||||
# Build our prompt
|
||||
kube_ps1() {
|
||||
[[ "${KUBE_PS1_ENABLED}" == "off" ]] && return
|
||||
|
||||
[[ "${KUBE_PS1_HIDE_IF_NOCONTEXT}" == true ]] &&
|
||||
[[ "${_KUBE_PS1_HAS_CONTEXT}" == false ]] && return
|
||||
|
||||
[[ -z "${KUBE_PS1_CONTEXT}" ]] && [[ "${KUBE_PS1_CONTEXT_ENABLE}" == true ]] && return
|
||||
[[ "${KUBE_PS1_CONTEXT}" == "N/A" ]] && [[ ${KUBE_PS1_HIDE_IF_NOCONTEXT} == true ]] && return
|
||||
|
||||
local KUBE_PS1
|
||||
local KUBE_PS1_RESET_COLOR="${_KUBE_PS1_OPEN_ESC}${_KUBE_PS1_DEFAULT_FG}${_KUBE_PS1_CLOSE_ESC}"
|
||||
|
||||
@@ -12,8 +12,8 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._kubectl"
|
||||
zf_mv -f -- =( 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
|
||||
|
||||
@@ -12,6 +12,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._minikube"
|
||||
zf_mv -f -- =( minikube completion zsh ) "$ZSH_CACHE_DIR/completions/_minikube"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_minikube"
|
||||
zf_mv -f -- =( minikube completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -21,6 +21,6 @@ fi
|
||||
# Generate and load mise completion
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._mise"
|
||||
zf_mv -f -- =( mise completion zsh ) "$ZSH_CACHE_DIR/completions/_mise"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_mise"
|
||||
zf_mv -f -- =( mise completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -13,8 +13,8 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._molecule"
|
||||
zf_mv -f -- =( _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
|
||||
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._atlas"
|
||||
zf_mv -f -- =( atlas completion zsh ) "$ZSH_CACHE_DIR/completions/_atlas"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_atlas"
|
||||
zf_mv -f -- =( atlas completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -9,8 +9,8 @@ if (( $+commands[nsc] )); then
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._nsc"
|
||||
zf_mv -f -- =( nsc completion zsh ) "$ZSH_CACHE_DIR/completions/_nsc"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_nsc"
|
||||
zf_mv -f -- =( nsc completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
fi
|
||||
|
||||
@@ -25,7 +25,7 @@ if (( $+commands[nats] )); then
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._nats"
|
||||
zf_mv -f -- =( 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
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._ngrok"
|
||||
zf_mv -f -- =( ngrok completion zsh ) "$ZSH_CACHE_DIR/completions/_ngrok"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_ngrok"
|
||||
zf_mv -f -- =( ngrok completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._pass-cli"
|
||||
zf_mv -f -- =( 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"
|
||||
} &|
|
||||
@@ -45,8 +45,8 @@ else
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._pipenv"
|
||||
zf_mv -f -- =( _PIPENV_COMPLETE=zsh_source pipenv ) "$ZSH_CACHE_DIR/completions/_pipenv"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_pipenv"
|
||||
zf_mv -f -- =( _PIPENV_COMPLETE=zsh_source pipenv ) "$TMPPREFIX"
|
||||
} &|
|
||||
fi
|
||||
|
||||
|
||||
@@ -12,8 +12,8 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._podman"
|
||||
zf_mv -f -- =( 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'
|
||||
|
||||
@@ -41,6 +41,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._poetry"
|
||||
zf_mv -f -- =( poetry completions zsh ) "$ZSH_CACHE_DIR/completions/_poetry"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_poetry"
|
||||
zf_mv -f -- =( poetry completions zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -12,7 +12,7 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._procs"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_procs"
|
||||
autoload -Uz is-at-least
|
||||
local _version=$(procs --version)
|
||||
zf_mv -f -- =(
|
||||
@@ -21,5 +21,5 @@ zmodload -F zsh/files b:zf_mv
|
||||
else
|
||||
procs --completion-out zsh
|
||||
fi
|
||||
) "$ZSH_CACHE_DIR/completions/_procs"
|
||||
) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -12,8 +12,8 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._pulumi"
|
||||
zf_mv -f -- =( 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
|
||||
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._qodana"
|
||||
zf_mv -f -- =( qodana completion zsh ) "$ZSH_CACHE_DIR/completions/_qodana"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_qodana"
|
||||
zf_mv -f -- =( qodana completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -12,8 +12,8 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._rbw"
|
||||
zf_mv -f -- =( rbw gen-completions zsh ) "$ZSH_CACHE_DIR/completions/_rbw"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_rbw"
|
||||
zf_mv -f -- =( rbw gen-completions zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
|
||||
# rbwpw function copies the password of a service to the clipboard
|
||||
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._rclone"
|
||||
zf_mv -f -- =( rclone completion zsh - ) "$ZSH_CACHE_DIR/completions/_rclone"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_rclone"
|
||||
zf_mv -f -- =( rclone completion zsh - ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -22,6 +22,6 @@ fi
|
||||
# Overwrites the file each time as completions might change with ruff versions.
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._ruff"
|
||||
zf_mv -f -- =( ruff generate-shell-completion zsh ) "$ZSH_CACHE_DIR/completions/_ruff"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_ruff"
|
||||
zf_mv -f -- =( ruff generate-shell-completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -21,8 +21,8 @@ fi
|
||||
# Generate completion files in the background
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._rustup"
|
||||
zf_mv -f -- =( rustup completions zsh ) "$ZSH_CACHE_DIR/completions/_rustup"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_rustup"
|
||||
zf_mv -f -- =( rustup completions zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
cat >| "$ZSH_CACHE_DIR/completions/_cargo" <<'EOF'
|
||||
#compdef cargo
|
||||
|
||||
@@ -14,8 +14,8 @@ function install_autocompletion {
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._$1"
|
||||
zf_mv -f -- =( $1 completion zsh ) "$ZSH_CACHE_DIR/completions/_$1"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_$1"
|
||||
zf_mv -f -- =( $1 completion zsh ) "$TMPPREFIX"
|
||||
} "$1" &|
|
||||
}
|
||||
|
||||
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._skaffold"
|
||||
zf_mv -f -- =( skaffold completion zsh ) "$ZSH_CACHE_DIR/completions/_skaffold"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_skaffold"
|
||||
zf_mv -f -- =( skaffold completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -1,3 +0,0 @@
|
||||
## Sops Plugin
|
||||
|
||||
This plugin sets up completion for [sops](https://getsops.io).
|
||||
@@ -1,18 +0,0 @@
|
||||
# COMPLETION FUNCTION
|
||||
if (( ! $+commands[sops] )); then
|
||||
return
|
||||
fi
|
||||
|
||||
# If the completion file doesn't exist yet, we need to autoload it and
|
||||
# bind it to `sops`. Otherwise, compinit will have already done that.
|
||||
if [[ ! -f "$ZSH_CACHE_DIR/completions/_sops" ]]; then
|
||||
typeset -g -A _comps
|
||||
autoload -Uz _sops
|
||||
_comps[sops]=_sops
|
||||
fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._sops"
|
||||
zf_mv -f -- =( sops completion zsh ) "$ZSH_CACHE_DIR/completions/_sops"
|
||||
} &|
|
||||
@@ -12,6 +12,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._stripe"
|
||||
zf_mv -f -- =( stripe completion --shell zsh --write-to-stdout ) "$ZSH_CACHE_DIR/completions/_stripe"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_stripe"
|
||||
zf_mv -f -- =( stripe completion --shell zsh --write-to-stdout ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -24,6 +24,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._tailscale"
|
||||
zf_mv -f -- =( tailscale completion zsh ) "$ZSH_CACHE_DIR/completions/_tailscale"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_tailscale"
|
||||
zf_mv -f -- =( tailscale completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
# Generate and load task completion
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._task"
|
||||
zf_mv -f -- =( task --completion zsh ) "$ZSH_CACHE_DIR/completions/_task"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_task"
|
||||
zf_mv -f -- =( task --completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._timoni"
|
||||
zf_mv -f -- =( timoni completion zsh ) "$ZSH_CACHE_DIR/completions/_timoni"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_timoni"
|
||||
zf_mv -f -- =( timoni completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -52,7 +52,7 @@ The plugin will generate a default archive filename based on the input:
|
||||
|
||||
| Format | Description | Tool Used |
|
||||
|:-----------------|:-------------------------------|:-----------------|
|
||||
| `7z` | 7zip archive | `7zz`,`7z`,`7za` |
|
||||
| `7z` | 7zip archive | `7z` |
|
||||
| `bz2` | Bzip2-compressed file | `bzip2` |
|
||||
| `gz` | Gzip-compressed file | `gzip` |
|
||||
| `lzma` | LZMA-compressed file | `lzma` |
|
||||
|
||||
@@ -49,17 +49,7 @@ tlz (tar.lzma), txz (tar.xz), tZ (tar.Z), xz, Z, zip, and zst."
|
||||
fi
|
||||
|
||||
case "$ext" in
|
||||
7z)
|
||||
if (( $+commands[7zz] )); then
|
||||
7zz u "${output}" "${@}"
|
||||
elif (( $+commands[7z] )); then
|
||||
7z u "${output}" "${@}"
|
||||
elif (( $+commands[7za] )); then
|
||||
7za u "${output}" "${@}"
|
||||
else
|
||||
echo "ua: cannot create 7z files: install 7zz, 7z or 7za" >&2
|
||||
return 1
|
||||
fi ;;
|
||||
7z) 7z u "${output}" "${@}" ;;
|
||||
bz2) bzip2 -vcf "${@}" > "${output}" ;;
|
||||
gz) gzip -vcf "${@}" > "${output}" ;;
|
||||
lzma) lzma -vc -T0 "${@}" > "${output}" ;;
|
||||
|
||||
@@ -45,10 +45,10 @@ fi
|
||||
# Overwrites the file each time as completions might change with uv versions.
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._uv"
|
||||
zf_mv -f -- =( uv generate-shell-completion zsh ) "$ZSH_CACHE_DIR/completions/_uv"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_uv"
|
||||
zf_mv -f -- =( uv generate-shell-completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._uvx"
|
||||
zf_mv -f -- =( uvx --generate-shell-completion zsh ) "$ZSH_CACHE_DIR/completions/_uvx"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_uvx"
|
||||
zf_mv -f -- =( uvx --generate-shell-completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
@@ -13,6 +13,6 @@ fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/._volta"
|
||||
zf_mv -f -- =( volta completions zsh ) "$ZSH_CACHE_DIR/completions/_volta"
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_volta"
|
||||
zf_mv -f -- =( volta completions zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
+1
-12
@@ -38,17 +38,6 @@ Zsh-z is a drop-in replacement for `rupa/z` and will, by default, use the same d
|
||||
|
||||
## News
|
||||
|
||||
### v2.0.1 (October 1, 2026)
|
||||
|
||||
- **Database writes now work with `setopt NO_CLOBBER`.** Under `NO_CLOBBER`,
|
||||
every database write could fail with `can't clobber parameter tmpfd containing
|
||||
file descriptor 0`, even when the database already existed. That error no longer
|
||||
occurs ([#81](https://github.com/agkozak/zsh-z/issues/81)).
|
||||
- **Database and lockfile creation now works with `setopt NO_CLOBBER`.** With
|
||||
`NO_CLOBBER` set and `APPEND_CREATE` unset, Zsh-z could not create a missing
|
||||
database or lockfile. It now creates them without changing your shell options or
|
||||
losing existing directory history ([#105](https://github.com/agkozak/zsh-z/issues/105)).
|
||||
|
||||
### v2.0 (August 14, 2026)
|
||||
|
||||
Version **2.0** is a major step forward, and these are the changes most worth knowing about:
|
||||
@@ -58,7 +47,7 @@ Version **2.0** is a major step forward, and these are the changes most worth kn
|
||||
- **Safer, crash-resistant concurrent writes.** Writes are now guarded by a dedicated, stable lockfile using `zsh/system` file locking, with a bounded wait for lock acquisition (the new [`ZSHZ_LOCK_TIMEOUT`](#settings), default `1` second). Write errors are handled gracefully, and locks are always released even if a write is interrupted. On Cygwin and MSYS2 a write is also retried briefly if Windows refuses it: a virus scanner or the search indexer that opens the database in the instant between its being written and its being moved into place makes the move fail, which used to lose that one directory silently. Zsh-z now retries the move briefly.
|
||||
- **Your database file now has `600` permissions** -- readable and writable only by you -- so that other users on a shared system cannot read your directory history ([#92](https://github.com/agkozak/zsh-z/issues/92)). On Zsh 5+ this uses the in-process `zf_chmod` builtin; on Zsh 4.3.11 it uses a `umask`-in-a-subshell technique that avoids the fork-and-exec of an external `chmod`.
|
||||
- **`COMPLETE_ALIASES` works automatically in normal setups.** Tab completion no longer breaks when you have `setopt COMPLETE_ALIASES` enabled. Zsh-z registers the alias automatically on the first Tab press, so the manual `compdef` line that earlier versions required is no longer necessary. [See below](#complete_aliases).
|
||||
- **Fixed a `can't clobber parameter tmpfd` error on some Zsh builds.** On certain Zsh builds, every database write could fail with `can't clobber parameter tmpfd containing file descriptor 0`, leaving an error at each new prompt ([#81](https://github.com/agkozak/zsh-z/issues/81)). *Correction:* the error occurs under `setopt NO_CLOBBER`, and the v2.0 change did not fix it there; v2.0.1 does.
|
||||
- **Fixed a `can't clobber parameter tmpfd` error on some Zsh builds.** On certain Zsh builds, every database write could fail with `can't clobber parameter tmpfd containing file descriptor 0`, leaving an error at each new prompt. The file descriptor used for the temporary database file is now held in an unset scalar rather than one seeded with `0`, so the write never trips Zsh's file-descriptor-clobber guard ([#81](https://github.com/agkozak/zsh-z/issues/81)).
|
||||
- **A misconfigured database file no longer closes your shell -- or nags you at every prompt.** When `ZSHZ_DATA` points at a directory, or names a file without a directory, Zsh-z now reports the problem and returns instead of calling `exit`. The per-prompt `--add` stays quiet about it, so you are told once, when you actually run `z`, rather than at every prompt ([#103](https://github.com/agkozak/zsh-z/issues/103); props @ahjota).
|
||||
- **`z -x` can now remove the entry for a directory that no longer exists -- and can no longer crash Zsh 4.3.11.** The removal target used to have to exist on disk, so a database entry whose directory had been deleted -- exactly the entry you most want gone -- could not be removed. `z -x /deleted/dir` (and `z -xR`) now canonicalizes the argument without requiring it to exist, resolving symlinks in as much of the path as is still present. The same change fixes a crash on Zsh 4.3.11, where an upstream bug makes `${x:A}` segfault when the top-level component of the path is missing: `z -x /gone/sub` -- or a `ZSHZ_DATA` pointing into a missing top-level directory -- could kill the shell there.
|
||||
- **More robust startup and operation.** A version check on an unsupported Zsh no longer risks exiting your interactive shell.
|
||||
|
||||
+13
-14
@@ -371,17 +371,16 @@ zshz() {
|
||||
# before the lock is taken, and on Cygwin/MSYS2 a concurrent writer's rename
|
||||
# passes through a window in which the datafile is unlinked or delete-
|
||||
# pending, so any second syscall on the path (chmod) -- or even the creating
|
||||
# open itself -- can fail spuriously. Forced append redirection (>>|) creates
|
||||
# the file even under NO_CLOBBER with APPEND_CREATE disabled, without
|
||||
# truncating one that a concurrent writer has just renamed into place.
|
||||
# The first attempt is silent; if the file still does not exist
|
||||
# open itself -- can fail spuriously. Append mode (>>) creates the file
|
||||
# without truncating one that a concurrent writer has just renamed into
|
||||
# place. The first attempt is silent; if the file still does not exist
|
||||
# afterward (so no concurrent writer supplied it), retry loudly so that real
|
||||
# failures (directory permissions, read-only filesystem) reach the user.
|
||||
[[ -f $datafile ]] || {
|
||||
mkdir -p "${datafile:h}" &&
|
||||
( umask 077; : >>| "$datafile" ) 2> /dev/null ||
|
||||
( umask 077; : >> "$datafile" ) 2> /dev/null ||
|
||||
[[ -f $datafile ]] ||
|
||||
( umask 077; : >>| "$datafile" )
|
||||
( umask 077; : >> "$datafile" )
|
||||
# When $ZSHZ_OWNER is set (e.g. under `sudo -s'), hand the freshly created
|
||||
# file off to that user immediately, so a query-only invocation can't leave
|
||||
# behind a root-owned .z that the normal-user shell can't read. `-h' so a
|
||||
@@ -526,14 +525,14 @@ zshz() {
|
||||
# two-inodes race the stable lockfile exists to prevent.
|
||||
# Under $ZSHZ_OWNER all of this runs with root's authority on a path the
|
||||
# unprivileged owner controls, and every step follows a symlink: `-f'
|
||||
# tests the target, `>>|' creates a dangling one, and flock opens it.
|
||||
# tests the target, `>>' creates a dangling one, and flock opens it.
|
||||
# $datafile survives a planted link only because the `mv' below replaces
|
||||
# it outright; the lockfile is deliberately never removed, so a symlink
|
||||
# here would persist and be acted on at every subsequent write. Refuse.
|
||||
local _lock_owner=${ZSHZ_OWNER:-${_Z_OWNER}}
|
||||
[[ -n $_lock_owner && -L $lockfile ]] && return 1
|
||||
if [[ ! -f $lockfile ]]; then
|
||||
( umask 077; : >>| "$lockfile" ) 2> /dev/null
|
||||
( umask 077; : >> "$lockfile" ) 2> /dev/null
|
||||
[[ -n $_lock_owner ]] &&
|
||||
${ZSHZ[CHOWN]} -h "${_lock_owner}:$(id -ng "${_lock_owner}")" "$lockfile"
|
||||
fi
|
||||
@@ -586,13 +585,13 @@ zshz() {
|
||||
# Discard entries that are incomplete or incorrectly formatted
|
||||
lines=( ${(M)lines:#/*\|[[:digit:]]##[.,]#[[:digit:]]#\|[[:digit:]]##} )
|
||||
|
||||
# Explicitly unset the local scalar before allocating a file descriptor.
|
||||
# Under NO_CLOBBER, even an empty scalar can be treated as fd 0 (stdin),
|
||||
# causing `exec {tmpfd}>|...' to refuse to overwrite it. The `>|' only
|
||||
# overrides file clobber protection, not the descriptor parameter check.
|
||||
# See https://github.com/agkozak/zsh-z/issues/81
|
||||
# Hold the fd in an *unset* scalar, not `integer tmpfd' (which seeds it
|
||||
# with 0). On some Zsh builds, `exec {tmpfd}>|...' refuses to clobber a
|
||||
# parameter already holding a number that names an open fd -- and 0 is
|
||||
# stdin, always open -- yielding "can't clobber parameter tmpfd
|
||||
# containing file descriptor 0". An empty scalar isn't a valid fd, so
|
||||
# the guard never fires. See https://github.com/agkozak/zsh-z/issues/81
|
||||
local tmpfd
|
||||
unset tmpfd
|
||||
case $action in
|
||||
--add)
|
||||
# When zf_chmod isn't available (Zsh 4.3.11), avoid the
|
||||
|
||||
Reference in new issue
Block a user