mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-08-20 23:22:55 +08:00
Compare commits
37 Commits
add-docker
...
97b27bb2ec
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
97b27bb2ec | ||
|
|
99aaf58d00 | ||
|
|
6f39351fef | ||
|
|
069512d14a | ||
|
|
0912e05c05 | ||
|
|
076d692dac | ||
|
|
7e2aa2c8cb | ||
|
|
ab84cca50a | ||
|
|
a4a224b3fe | ||
|
|
898b579cf5 | ||
|
|
bc0d7fa6ab | ||
|
|
ed19f8ffcf | ||
|
|
26b4e0a8c0 | ||
|
|
a8afe14b93 | ||
|
|
be0dfaad6b | ||
|
|
14200130f0 | ||
|
|
ad586ffeca | ||
|
|
da368d6468 | ||
|
|
6adfef3a8b | ||
|
|
c5ba74cf02 | ||
|
|
7ea697fd81 | ||
|
|
d26b91b3fe | ||
|
|
64c49681f1 | ||
|
|
f5f46df291 | ||
|
|
9e67851a2f | ||
|
|
2ea792fd9b | ||
|
|
bce9fec859 | ||
|
|
12eb42de60 | ||
|
|
f25287d881 | ||
|
|
b37dd49ca5 | ||
|
|
e1d1f0dcd5 | ||
|
|
59a9740721 | ||
|
|
98fe9b81a6 | ||
|
|
f2546022a5 | ||
|
|
677a4592b1 | ||
|
|
8c8782e362 | ||
|
|
51e98fadc9 |
14
.github/dependabot.yml
vendored
14
.github/dependabot.yml
vendored
@@ -6,9 +6,23 @@ updates:
|
||||
interval: "weekly"
|
||||
day: "sunday"
|
||||
labels: []
|
||||
groups:
|
||||
gha-minor:
|
||||
patterns:
|
||||
- "*"
|
||||
update-types:
|
||||
- minor
|
||||
- patch
|
||||
- package-ecosystem: "pip"
|
||||
directory: "/.github/workflows/dependencies"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
day: "sunday"
|
||||
labels: []
|
||||
groups:
|
||||
py-minor:
|
||||
patterns:
|
||||
- "*"
|
||||
update-types:
|
||||
- minor
|
||||
- patch
|
||||
|
||||
6
.github/workflows/dependencies.yml
vendored
6
.github/workflows/dependencies.yml
vendored
@@ -16,12 +16,12 @@ jobs:
|
||||
contents: write # this is needed to push commits and branches
|
||||
steps:
|
||||
- name: Harden the runner (Audit all outbound calls)
|
||||
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
|
||||
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Authenticate as @ohmyzsh
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
client-id: ${{ secrets.OHMYZSH_CLIENT_ID }}
|
||||
private-key: ${{ secrets.OHMYZSH_APP_PRIVATE_KEY }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
with:
|
||||
python-version: "3.12"
|
||||
cache: "pip"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
certifi==2026.4.22
|
||||
charset-normalizer==3.4.7
|
||||
idna==3.15
|
||||
certifi==2026.7.22
|
||||
charset-normalizer==3.4.9
|
||||
idna==3.18
|
||||
PyYAML==6.0.3
|
||||
requests==2.34.2
|
||||
semver==3.0.4
|
||||
|
||||
8
.github/workflows/installer.yml
vendored
8
.github/workflows/installer.yml
vendored
@@ -26,12 +26,12 @@ jobs:
|
||||
- macos-latest
|
||||
steps:
|
||||
- name: Harden the runner (Audit all outbound calls)
|
||||
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
|
||||
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
- name: Set up git repository
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
- name: Install zsh
|
||||
if: runner.os == 'Linux'
|
||||
run: sudo apt-get update; sudo apt-get install zsh
|
||||
@@ -47,12 +47,12 @@ jobs:
|
||||
- test
|
||||
steps:
|
||||
- name: Harden the runner (Audit all outbound calls)
|
||||
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
|
||||
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
- name: Install Vercel CLI
|
||||
run: npm install -g vercel
|
||||
- name: Setup project and deploy
|
||||
|
||||
4
.github/workflows/main.yml
vendored
4
.github/workflows/main.yml
vendored
@@ -24,12 +24,12 @@ jobs:
|
||||
if: github.repository == 'ohmyzsh/ohmyzsh'
|
||||
steps:
|
||||
- name: Harden the runner (Audit all outbound calls)
|
||||
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
|
||||
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
- name: Set up git repository
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
- name: Install zsh
|
||||
run: sudo apt-get update; sudo apt-get install zsh
|
||||
- name: Check syntax
|
||||
|
||||
2
.github/workflows/project.yml
vendored
2
.github/workflows/project.yml
vendored
@@ -17,7 +17,7 @@ jobs:
|
||||
if: github.repository == 'ohmyzsh/ohmyzsh'
|
||||
steps:
|
||||
- name: Harden the runner (Audit all outbound calls)
|
||||
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
|
||||
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
|
||||
with:
|
||||
egress-policy: audit
|
||||
- name: Authenticate as @ohmyzsh
|
||||
|
||||
8
.github/workflows/scorecard.yml
vendored
8
.github/workflows/scorecard.yml
vendored
@@ -36,17 +36,17 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Harden the runner (Audit all outbound calls)
|
||||
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
|
||||
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
- name: "Checkout code"
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: "Run analysis"
|
||||
uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
|
||||
uses: ossf/scorecard-action@2d1146689b8cda280b9bc96326124645441f03bc # v2.4.4
|
||||
with:
|
||||
results_file: results.sarif
|
||||
results_format: sarif
|
||||
@@ -60,6 +60,6 @@ jobs:
|
||||
retention-days: 5
|
||||
|
||||
- name: "Upload to code-scanning"
|
||||
uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
|
||||
uses: github/codeql-action/upload-sarif@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
||||
@@ -40,6 +40,15 @@ function _omz_git_prompt_info() {
|
||||
}
|
||||
|
||||
function _omz_git_prompt_status() {
|
||||
# OHMYZSH-13330: avoid "regex matching error: illegal byte sequence".
|
||||
# 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 below never fails that way. `git status --porcelain` is
|
||||
# locale-independent, so this does not change the parsed output.
|
||||
local -x LC_ALL=C
|
||||
|
||||
[[ "$(__git_prompt_git config --get oh-my-zsh.hide-status 2>/dev/null)" = 1 ]] && return
|
||||
|
||||
# Maps a git status prefix to an internal constant
|
||||
|
||||
@@ -124,9 +124,11 @@ fi
|
||||
if [[ "$ZSH_DISABLE_COMPFIX" != true ]]; then
|
||||
source "$ZSH/lib/compfix.zsh"
|
||||
# Load only from secure directories
|
||||
# Reset the flag compinit sets when -i excludes insecure entries
|
||||
unset _comp_secure
|
||||
compinit -i -d "$ZSH_COMPDUMP"
|
||||
# If completion insecurities exist, warn the user
|
||||
handle_completion_insecurities &|
|
||||
[[ "$_comp_secure" == yes ]] && handle_completion_insecurities &|
|
||||
else
|
||||
# If the user wants it, load from all found directories
|
||||
compinit -u -d "$ZSH_COMPDUMP"
|
||||
|
||||
@@ -21,7 +21,7 @@ plugins=(... archlinux)
|
||||
| pacloc | `pacman -Qi` | Display information about a package in the local database |
|
||||
| paclocs | `pacman -Qs` | Search for packages in the local database |
|
||||
| paclr | `sudo pacman -Scc` | Remove all files from the cache |
|
||||
| paclsorphans | `sudo pacman -Qdt` | List all orphaned packages |
|
||||
| paclsorphans | `pacman -Qdt` | List all orphaned packages |
|
||||
| pacmir | `sudo pacman -Syy` | Force refresh of all package lists after updating mirrorlist |
|
||||
| pacre | `sudo pacman -R` | Remove packages, keeping its settings and dependencies |
|
||||
| pacrem | `sudo pacman -Rns` | Remove packages, including its settings and dependencies |
|
||||
|
||||
@@ -16,7 +16,7 @@ alias pacloc='pacman -Qi'
|
||||
alias paclocs='pacman -Qs'
|
||||
alias pacinsd='sudo pacman -S --asdeps'
|
||||
alias pacmir='sudo pacman -Syy'
|
||||
alias paclsorphans='sudo pacman -Qdt'
|
||||
alias paclsorphans='pacman -Qdt'
|
||||
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
|
||||
alias pacfileupg='sudo pacman -Fy'
|
||||
alias pacfiles='pacman -F'
|
||||
|
||||
@@ -9,14 +9,14 @@ function agr() {
|
||||
# Update state file if enabled
|
||||
function _aws_update_state() {
|
||||
if [[ "$AWS_PROFILE_STATE_ENABLED" == true ]]; then
|
||||
test -d $(dirname ${AWS_STATE_FILE}) || return 1
|
||||
test -d "$(dirname "${AWS_STATE_FILE}")" || return 1
|
||||
echo "${AWS_PROFILE} ${AWS_REGION}" > "${AWS_STATE_FILE}"
|
||||
fi
|
||||
}
|
||||
|
||||
function _aws_clear_state() {
|
||||
if [[ "$AWS_PROFILE_STATE_ENABLED" == true ]]; then
|
||||
test -d $(dirname ${AWS_STATE_FILE}) || return 1
|
||||
test -d "$(dirname "${AWS_STATE_FILE}")" || return 1
|
||||
echo -n > "${AWS_STATE_FILE}"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -22,7 +22,8 @@ plugins=(... bundler)
|
||||
| `bo` | `bundle open` | Opens the source directory for a gem in your bundle |
|
||||
| `bout` | `bundle outdated` | List installed gems with newer versions available |
|
||||
| `bp` | `bundle package` | Package your needed .gem files into your application |
|
||||
| `bu` | `bundle update --all` | 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
|
||||
|
||||
|
||||
@@ -9,7 +9,8 @@ alias bl="bundle list"
|
||||
alias bo="bundle open"
|
||||
alias bout="bundle outdated"
|
||||
alias bp="bundle package"
|
||||
alias bu="bundle update --all"
|
||||
alias bu="bundle update"
|
||||
alias bua="bundle update --all"
|
||||
|
||||
## Gem wrapper
|
||||
|
||||
|
||||
32
plugins/cdk/README.md
Normal file
32
plugins/cdk/README.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# 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
plugins/cdk/_cdk
Normal file
12
plugins/cdk/_cdk
Normal file
@@ -0,0 +1,12 @@
|
||||
#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
plugins/cdk/cdk.plugin.zsh
Normal file
13
plugins/cdk/cdk.plugin.zsh
Normal file
@@ -0,0 +1,13 @@
|
||||
# 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'
|
||||
11
plugins/codex/README.md
Normal file
11
plugins/codex/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# 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)
|
||||
```
|
||||
14
plugins/codex/codex.plugin.zsh
Normal file
14
plugins/codex/codex.plugin.zsh
Normal file
@@ -0,0 +1,14 @@
|
||||
# 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
|
||||
|
||||
codex completion zsh < /dev/null 2> /dev/null >| "$ZSH_CACHE_DIR/completions/_codex" &|
|
||||
@@ -32,5 +32,6 @@ 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/)
|
||||
- [Gentoo](https://github.com/AndrewAmmerlaan/command-not-found-gentoo/tree/main)
|
||||
- [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.
|
||||
|
||||
@@ -74,3 +74,10 @@ if [[ -x /usr/bin/command-not-found ]]; then
|
||||
/usr/bin/command-not-found "$1"
|
||||
}
|
||||
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
|
||||
|
||||
@@ -102,7 +102,7 @@ EOF
|
||||
(*.tar.lrz) (( $+commands[lrzuntar] )) && lrzuntar "$full_path" ;;
|
||||
(*.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" ;;
|
||||
(*.xz) unxz "$full_path" ;;
|
||||
(*.xz) xzcat "$full_path" > "${file:t:r}" ;;
|
||||
(*.lrz) (( $+commands[lrunzip] )) && lrunzip "$full_path" ;;
|
||||
(*.lz4) lz4 -d "$full_path" ;;
|
||||
(*.lzma) unlzma "$full_path" ;;
|
||||
|
||||
@@ -48,10 +48,11 @@ Default: `no`
|
||||
### `show-group`
|
||||
|
||||
```zsh
|
||||
zstyle ':omz:plugins:eza' 'show-group' yes|no
|
||||
zstyle ':omz:plugins:eza' 'show-group' yes|no|smart
|
||||
```
|
||||
|
||||
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`
|
||||
|
||||
|
||||
@@ -9,9 +9,15 @@ typeset -a _EZA_TAIL
|
||||
function _configure_eza() {
|
||||
local _val
|
||||
# Get the head flags
|
||||
if zstyle -T ':omz:plugins:eza' 'show-group'; then
|
||||
_EZA_HEAD+=("g")
|
||||
fi
|
||||
zstyle -s ':omz:plugins:eza' 'show-group' _val
|
||||
case "${_val:l}" in
|
||||
yes)
|
||||
_EZA_HEAD+=("g")
|
||||
;;
|
||||
smart)
|
||||
_EZA_TAIL+=("--smart-group")
|
||||
;;
|
||||
esac
|
||||
if zstyle -t ':omz:plugins:eza' 'header'; then
|
||||
_EZA_HEAD+=("h")
|
||||
fi
|
||||
|
||||
@@ -13,16 +13,20 @@ plugins=(... flutter)
|
||||
| Alias | Command | Description |
|
||||
| :--------- | :---------------------- | :------------------------------------------------------------------------- |
|
||||
| `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 |
|
||||
| `flb` | `flutter build` | Build flutter application |
|
||||
| `flchnl` | `flutter channel` | Switches flutter channel (requires input of desired channel) |
|
||||
| `flc` | `flutter clean` | Cleans flutter project |
|
||||
| `fldvcs` | `flutter devices` | List connected devices (if any) |
|
||||
| `flchnl` | `flutter channel` | Switches flutter channel (requires input of desired channel) |
|
||||
| `fldoc` | `flutter doctor` | Runs flutter doctor |
|
||||
| `flpub` | `flutter pub` | Shorthand for flutter pub command |
|
||||
| `fldvcs` | `flutter devices` | List connected devices (if any) |
|
||||
| `flget` | `flutter pub get` | Installs dependencies |
|
||||
| `fll` | `flutter logs` | Shows flutter logs |
|
||||
| `flpu` | `flutter pub upgrade` | Upgrades dependencies |
|
||||
| `flpub` | `flutter pub` | Shorthand for flutter pub command |
|
||||
| `flr` | `flutter run` | Runs flutter app |
|
||||
| `flrd` | `flutter run --debug` | Runs flutter app in debug mode (default mode) |
|
||||
| `flrp` | `flutter run --profile` | Runs flutter app in profile mode |
|
||||
| `flrr` | `flutter run --release` | Runs flutter app in release mode |
|
||||
| `flupgrd` | `flutter upgrade` | Upgrades flutter version depending on the current channel |
|
||||
| `flt` | `flutter test` | Runs flutter tests |
|
||||
| `flupgrd` | `flutter upgrade` | Upgrades flutter version depending on the current channel |
|
||||
@@ -1,16 +1,20 @@
|
||||
alias fl="flutter"
|
||||
alias fla="flutter analyze"
|
||||
alias flattach="flutter attach"
|
||||
alias flb="flutter build"
|
||||
alias flchnl="flutter channel"
|
||||
alias flc="flutter clean"
|
||||
alias fldvcs="flutter devices"
|
||||
alias flchnl="flutter channel"
|
||||
alias fldoc="flutter doctor"
|
||||
alias flpub="flutter pub"
|
||||
alias fldvcs="flutter devices"
|
||||
alias flget="flutter pub get"
|
||||
alias fll="flutter logs"
|
||||
alias flpu="flutter pub upgrade"
|
||||
alias flpub="flutter pub"
|
||||
alias flr="flutter run"
|
||||
alias flrd="flutter run --debug"
|
||||
alias flrp="flutter run --profile"
|
||||
alias flrr="flutter run --release"
|
||||
alias flt="flutter test"
|
||||
alias flupgrd="flutter upgrade"
|
||||
|
||||
# COMPLETION FUNCTION
|
||||
|
||||
@@ -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` |
|
||||
| `gbm` | `git branch --move` |
|
||||
| `gbnm` | `git branch --no-merged` |
|
||||
| `gbr` | `git branch --remote` |
|
||||
| `gbr` | `git branch --remotes` |
|
||||
| `ggsup` | `git branch --set-upstream-to=origin/$(git_current_branch)` |
|
||||
| `gbg` | `LANG=C git branch -vv \| grep ": gone\]"` |
|
||||
| `gco` | `git checkout` |
|
||||
|
||||
@@ -153,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 gbm='git branch --move'
|
||||
alias gbnm='git branch --no-merged'
|
||||
alias gbr='git branch --remote'
|
||||
alias gbr='git branch --remotes'
|
||||
alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
|
||||
alias gbg='LANG=C git branch -vv | grep ": gone\]"'
|
||||
alias gco='git checkout'
|
||||
|
||||
@@ -10,12 +10,48 @@ function gi() {
|
||||
}
|
||||
|
||||
_gitignoreio_get_command_list() {
|
||||
setopt local_options pipe_fail
|
||||
_gi_curl "list" | tr "," "\n"
|
||||
}
|
||||
|
||||
_gitignoreio () {
|
||||
compset -P '*,'
|
||||
compadd -S '' $(_gitignoreio_get_command_list)
|
||||
__gitignoreio_caching_policy() {
|
||||
local -a oldp
|
||||
oldp=("$1"(Nm+7))
|
||||
(($#oldp))
|
||||
}
|
||||
|
||||
compdef _gitignoreio gi
|
||||
_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 '*,'
|
||||
|
||||
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
|
||||
|
||||
@@ -70,3 +70,6 @@ alias jjrt='cd "$(jj root || echo .)"'
|
||||
alias jjsp='jj split'
|
||||
alias jjsq='jj squash'
|
||||
alias jjst='jj status'
|
||||
alias jjwa='jj workspace add'
|
||||
alias jjwf='jj workspace forget'
|
||||
|
||||
|
||||
@@ -4,37 +4,50 @@
|
||||
SHORT_HOST=${SHORT_HOST:-${(%):-%m}}
|
||||
|
||||
function {
|
||||
local agents
|
||||
local -a identities
|
||||
local -a options
|
||||
local _keychain_env_sh
|
||||
local _keychain_env_sh_gpg
|
||||
local -a identities
|
||||
local -a options
|
||||
local _keychain_env_sh
|
||||
local _keychain_env_sh_gpg
|
||||
local version_string major
|
||||
|
||||
# load agents to start.
|
||||
zstyle -s :omz:plugins:keychain agents agents
|
||||
# load identities to manage.
|
||||
zstyle -a :omz:plugins:keychain identities identities
|
||||
|
||||
# load identities to manage.
|
||||
zstyle -a :omz:plugins:keychain identities identities
|
||||
# load additional options
|
||||
zstyle -a :omz:plugins:keychain options options
|
||||
|
||||
# load additional options
|
||||
zstyle -a :omz:plugins:keychain options options
|
||||
# Detect major version robustly: case-insensitive, tolerant of
|
||||
# "keychain 3.0.0_beta3" / "Keychain 3.0.0" / etc.
|
||||
version_string=$(keychain --version 2>&1)
|
||||
if [[ "${version_string:l}" =~ '([0-9]+)\.[0-9]+' ]]; then
|
||||
major=${match[1]}
|
||||
else
|
||||
major=2
|
||||
fi
|
||||
|
||||
# Check keychain version to decide whether to use --agents
|
||||
local version_string=$(keychain --version 2>&1)
|
||||
# start keychain, only use --agents for versions below 2.9.0
|
||||
autoload -Uz is-at-least
|
||||
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
|
||||
if (( major >= 3 )); then
|
||||
# Keychain 3.x: subcommand-based CLI, no --agents.
|
||||
keychain add ${^options:-} --host $SHORT_HOST ${^identities}
|
||||
else
|
||||
local agents
|
||||
|
||||
# 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"
|
||||
# load agents to start (only used by keychain < 2.9).
|
||||
zstyle -s :omz:plugins:keychain agents agents
|
||||
|
||||
# Source environment settings.
|
||||
[ -f "$_keychain_env_sh" ] && . "$_keychain_env_sh"
|
||||
[ -f "$_keychain_env_sh_gpg" ] && . "$_keychain_env_sh_gpg"
|
||||
autoload -Uz is-at-least
|
||||
if [[ "${version_string:l}" =~ '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
|
||||
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"
|
||||
}
|
||||
|
||||
@@ -91,13 +91,14 @@ bindkey -M vicmd $PER_DIRECTORY_HISTORY_TOGGLE per-directory-history-toggle-hist
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
_per_directory_history_directory="$HISTORY_BASE${PWD:A}/history"
|
||||
_per_directory_history_global="$HISTFILE"
|
||||
|
||||
function _per-directory-history-change-directory() {
|
||||
_per_directory_history_directory="$HISTORY_BASE${PWD:A}/history"
|
||||
mkdir -p ${_per_directory_history_directory:h}
|
||||
if [[ $_per_directory_history_is_global == false ]]; then
|
||||
#save to the global history
|
||||
fc -AI $HISTFILE
|
||||
fc -AI "$_per_directory_history_global"
|
||||
#save history to previous file
|
||||
local prev="$HISTORY_BASE${OLDPWD:A}/history"
|
||||
mkdir -p ${prev:h}
|
||||
@@ -125,10 +126,9 @@ function _per-directory-history-addhistory() {
|
||||
if [[ -o share_history ]] || \
|
||||
[[ -o inc_append_history ]] || \
|
||||
[[ -o inc_append_history_time ]]; then
|
||||
fc -AI $HISTFILE
|
||||
fc -AI "$_per_directory_history_global"
|
||||
fc -AI $_per_directory_history_directory
|
||||
fi
|
||||
fc -p $_per_directory_history_directory
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -147,12 +147,13 @@ function _per-directory-history-precmd() {
|
||||
}
|
||||
|
||||
function _per-directory-history-set-directory-history() {
|
||||
fc -AI $HISTFILE
|
||||
fc -AI "$_per_directory_history_global"
|
||||
local original_histsize=$HISTSIZE
|
||||
HISTSIZE=0
|
||||
HISTSIZE=$original_histsize
|
||||
if [[ -e "$_per_directory_history_directory" ]]; then
|
||||
fc -R "$_per_directory_history_directory"
|
||||
fc -p "$_per_directory_history_directory"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -161,8 +162,9 @@ function _per-directory-history-set-global-history() {
|
||||
local original_histsize=$HISTSIZE
|
||||
HISTSIZE=0
|
||||
HISTSIZE=$original_histsize
|
||||
if [[ -e "$HISTFILE" ]]; then
|
||||
fc -R "$HISTFILE"
|
||||
if [[ -e "$_per_directory_history_global" ]]; then
|
||||
fc -R "$_per_directory_history_global"
|
||||
fc -p "$_per_directory_history_global"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ plugins=(... pipenv ...)
|
||||
|
||||
## Features
|
||||
|
||||
- Adds completion for pipenv
|
||||
- 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))
|
||||
- Auto activates and deactivates pipenv shell
|
||||
- Adds short aliases for common pipenv commands
|
||||
- `pch` is aliased to `pipenv check`
|
||||
@@ -29,6 +29,18 @@ plugins=(... pipenv ...)
|
||||
- `pvenv` is aliased to `pipenv --venv`
|
||||
- `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
|
||||
|
||||
### Shell activation
|
||||
|
||||
@@ -2,15 +2,49 @@ if (( ! $+commands[pipenv] )); then
|
||||
return
|
||||
fi
|
||||
|
||||
# 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
|
||||
# Compatibility note:
|
||||
# pipenv < 2026.5.0 used Click-based shell completion driven by the
|
||||
# _PIPENV_COMPLETE environment variable.
|
||||
#
|
||||
# pipenv >= 2026.5.0 removed this mechanism and switched to argcomplete-based
|
||||
# completion using register-python-argcomplete instead.
|
||||
|
||||
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
|
||||
|
||||
_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
|
||||
|
||||
_PIPENV_COMPLETE=zsh_source pipenv >| "$ZSH_CACHE_DIR/completions/_pipenv" &|
|
||||
fi
|
||||
|
||||
if zstyle -T ':omz:plugins:pipenv' auto-shell; then
|
||||
# Automatic pipenv shell activation/deactivation
|
||||
@@ -34,6 +68,7 @@ if zstyle -T ':omz:plugins:pipenv' auto-shell; then
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
autoload -U add-zsh-hook
|
||||
add-zsh-hook chpwd _togglePipenvShell
|
||||
_togglePipenvShell
|
||||
|
||||
@@ -314,7 +314,7 @@ _pm2_subcommands() {
|
||||
(( $+functions[_pm2_id_names] )) ||
|
||||
_pm2_id_names() {
|
||||
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}')"})
|
||||
|
||||
if (( ${#ids} > 0 )); then
|
||||
|
||||
@@ -24,11 +24,12 @@ plugins=(... rails)
|
||||
| `rdm` | `rails db:migrate` | Run pending db migrations |
|
||||
| `rdmd` | `rails db:migrate:down` | Undo specific db migration |
|
||||
| `rdmr` | `rails db:migrate:redo` | Redo specific db migration |
|
||||
| `rdmrs` | `rails db:migrate:reset` | Delete the database and set it up again from scratch. |
|
||||
| `rdms` | `rails db:migrate:status` | Show current db migration status |
|
||||
| `rdmtc` | `rails db:migrate db:test:clone` | Run pending migrations and clone db into test database |
|
||||
| `rdmu` | `rails db:migrate:up` | Run specific db migration |
|
||||
| `rdr` | `rails db:rollback` | Roll back the last migration |
|
||||
| `rdrs` | `rails db:reset` | Delete the database and set it up again |
|
||||
| `rdrs` | `rails db:reset` | Delete the database and set it up again from schema. |
|
||||
| `rds` | `rails db:seed` | Seed the database |
|
||||
| `rdsl` | `rails db:schema:load` | Load the database schema |
|
||||
| `rdtc` | `rails db:test:clone` | Clone the database into the test database |
|
||||
|
||||
@@ -214,6 +214,7 @@ _rails_subcommands() {
|
||||
"db\:migrate[Migrate the database]"
|
||||
"db\:migrate\:down[Run the 'down' for a given migration VERSION]"
|
||||
"db\:migrate\:redo[Roll back the database one migration and re-migrate up]"
|
||||
"db\:migrate\:reset[Drop and recreate all databases from scratch for the current environment]"
|
||||
"db\:migrate\:status[Display status of migrations]"
|
||||
"db\:migrate\:up[Run the 'up' for a given migration VERSION]"
|
||||
"db\:prepare[Run setup if database does not exist, or run migrations if it does]"
|
||||
|
||||
@@ -52,6 +52,7 @@ alias rdd='rails db:drop'
|
||||
alias rdm='rails db:migrate'
|
||||
alias rdmd='rails db:migrate:down'
|
||||
alias rdmr='rails db:migrate:redo'
|
||||
alias rdmrs='rails db:migrate:reset'
|
||||
alias rdms='rails db:migrate:status'
|
||||
alias rdmtc='rails db:migrate db:test:clone'
|
||||
alias rdmu='rails db:migrate:up'
|
||||
|
||||
@@ -167,7 +167,7 @@ function _zsh_tmux_plugin_preexec()
|
||||
local -a tmux_cmd
|
||||
tmux_cmd=(command tmux)
|
||||
|
||||
eval $($tmux_cmd show-environment -s)
|
||||
eval "$($tmux_cmd show-environment -s)"
|
||||
}
|
||||
|
||||
# Use the completions for tmux for our function
|
||||
|
||||
@@ -16,3 +16,4 @@ Some of the commands include:
|
||||
* `deny <port>/<optional: protocol>` add deny rule
|
||||
* `disable` disables the firewall
|
||||
* `enable` enables the firewall
|
||||
* `route` add route rule
|
||||
|
||||
@@ -31,6 +31,7 @@ _1st_arguments=(
|
||||
'reject:add reject rule'
|
||||
'reload:reloads firewall'
|
||||
'reset:reset firewall'
|
||||
'route:add route rule'
|
||||
'show:show firewall report'
|
||||
'status:show firewall status'
|
||||
'version:display version information'
|
||||
@@ -43,6 +44,7 @@ _arguments -C \
|
||||
'1:: :->cmds' \
|
||||
'2:: :->subcmds' \
|
||||
'3:: :->subsubcmds' \
|
||||
'4:: :->subsubsubcmds' \
|
||||
&& return 0
|
||||
|
||||
local rules
|
||||
@@ -83,6 +85,17 @@ case "$state" in
|
||||
'raw' 'builtins' 'before-rules' 'user-rules' 'after-rules' 'logging-rules' 'listening' 'added' \
|
||||
&& ret=0
|
||||
;;
|
||||
(route)
|
||||
_values 'route' \
|
||||
'delete[delete route rule]' \
|
||||
'insert[insert route rule at NUM]' \
|
||||
'prepend[prepend route rule]' \
|
||||
'allow[add allow route rule]' \
|
||||
'deny[add deny route rule]' \
|
||||
'reject[add reject route rule]' \
|
||||
'limit[add limit route rule]' \
|
||||
&& ret=0
|
||||
;;
|
||||
(delete)
|
||||
rules="$(_ufw_delete_rules)"
|
||||
if [[ -n "$rules" ]] ; then
|
||||
@@ -109,6 +122,37 @@ case "$state" in
|
||||
'incoming' 'outgoing' \
|
||||
&& ret=0
|
||||
;;
|
||||
(route)
|
||||
case "$line[2]" in
|
||||
(delete|prepend)
|
||||
_values 'route-action' \
|
||||
'allow[route allow rule]' \
|
||||
'deny[route deny rule]' \
|
||||
'reject[route reject rule]' \
|
||||
'limit[route limit rule]' \
|
||||
&& ret=0
|
||||
;;
|
||||
(insert)
|
||||
_message 'route rule number'
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
(subsubsubcmds)
|
||||
case "$line[1]" in
|
||||
(route)
|
||||
case "$line[2]" in
|
||||
(insert)
|
||||
_values 'route-action' \
|
||||
'allow[route allow rule]' \
|
||||
'deny[route deny rule]' \
|
||||
'reject[route reject rule]' \
|
||||
'limit[route limit rule]' \
|
||||
&& ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
|
||||
@@ -102,25 +102,11 @@ else
|
||||
fi
|
||||
|
||||
# Finally, the prompt.
|
||||
PROMPT='${PR_SET_CHARSET}${PR_STITLE}${(e)PR_TITLEBAR}\
|
||||
${PR_CYAN}${PR_ULCORNER}${PR_HBAR}${PR_GREY}(\
|
||||
${PR_GREEN}%${PR_PWDLEN}<...<%~%<<\
|
||||
${PR_GREY})$(virtualenv_prompt_info)$(ruby_prompt_info)$(conda_prompt_info)${PR_CYAN}${PR_HBAR}${PR_HBAR}${(e)PR_FILLBAR}${PR_HBAR}${PR_GREY}(\
|
||||
${PR_CYAN}%(!.%SROOT%s.%n)${PR_GREY}@${PR_GREEN}%m:%l\
|
||||
${PR_GREY})${PR_CYAN}${PR_HBAR}${PR_URCORNER}\
|
||||
|
||||
${PR_CYAN}${PR_LLCORNER}${PR_BLUE}${PR_HBAR}(\
|
||||
${PR_YELLOW}%D{%H:%M:%S}\
|
||||
${PR_LIGHT_BLUE}%{$reset_color%}$(git_prompt_info)$(git_prompt_status)${PR_BLUE})${PR_CYAN}${PR_HBAR}\
|
||||
${PR_HBAR}\
|
||||
>${PR_NO_COLOUR} '
|
||||
PROMPT='${PR_SET_CHARSET}${PR_STITLE}${(e)PR_TITLEBAR}${PR_CYAN}${PR_ULCORNER}${PR_HBAR}${PR_GREY}(${PR_GREEN}%${PR_PWDLEN}<...<%~%<<${PR_GREY})$(virtualenv_prompt_info)$(ruby_prompt_info)$(conda_prompt_info)${PR_CYAN}${PR_HBAR}${PR_HBAR}${(e)PR_FILLBAR}${PR_HBAR}${PR_GREY}(${PR_CYAN}%(!.%SROOT%s.%n)${PR_GREY}@${PR_GREEN}%m:%l${PR_GREY})${PR_CYAN}${PR_HBAR}${PR_URCORNER}
|
||||
${PR_CYAN}${PR_LLCORNER}${PR_BLUE}${PR_HBAR}(${PR_YELLOW}%D{%H:%M:%S}${PR_LIGHT_BLUE}%{$reset_color%}$(git_prompt_info)$(git_prompt_status)${PR_BLUE})${PR_CYAN}${PR_HBAR}${PR_HBAR}>${PR_NO_COLOUR} '
|
||||
|
||||
# display exitcode on the right when > 0
|
||||
return_code="%(?..%{$fg[red]%}%? ↵ %{$reset_color%})"
|
||||
RPROMPT=' $return_code${PR_CYAN}${PR_HBAR}${PR_BLUE}${PR_HBAR}\
|
||||
(${PR_YELLOW}%D{%a,%b%d}${PR_BLUE})${PR_HBAR}${PR_CYAN}${PR_LRCORNER}${PR_NO_COLOUR}'
|
||||
RPROMPT=' $return_code${PR_CYAN}${PR_HBAR}${PR_BLUE}${PR_HBAR}(${PR_YELLOW}%D{%a,%b%d}${PR_BLUE})${PR_HBAR}${PR_CYAN}${PR_LRCORNER}${PR_NO_COLOUR}'
|
||||
|
||||
PS2='${PR_CYAN}${PR_HBAR}\
|
||||
${PR_BLUE}${PR_HBAR}(\
|
||||
${PR_LIGHT_GREEN}%_${PR_BLUE})${PR_HBAR}\
|
||||
${PR_CYAN}${PR_HBAR}${PR_NO_COLOUR} '
|
||||
PS2='${PR_CYAN}${PR_HBAR}${PR_BLUE}${PR_HBAR}(${PR_LIGHT_GREEN}%_${PR_BLUE})${PR_HBAR}${PR_CYAN}${PR_HBAR}${PR_NO_COLOUR} '
|
||||
|
||||
@@ -10,6 +10,7 @@ function josh_prompt {
|
||||
prompt=" "
|
||||
|
||||
branch=$(git_current_branch)
|
||||
branch="${branch//\%/%%}"
|
||||
ruby_version=$(ruby_prompt_info)
|
||||
path_size=${#PWD}
|
||||
branch_size=${#branch}
|
||||
@@ -31,7 +32,7 @@ function josh_prompt {
|
||||
prompt=" $prompt"
|
||||
done
|
||||
|
||||
prompt="%{%F{green}%}$PWD$prompt%{%F{red}%}$(ruby_prompt_info)%{$reset_color%} ${branch//\%/%%}"
|
||||
prompt="%{%F{green}%}$PWD$prompt%{%F{red}%}$(ruby_prompt_info)%{$reset_color%} ${branch}"
|
||||
|
||||
echo $prompt
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user