1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2026-04-10 16:32:00 +00:00

Compare commits

..

9 Commits

Author SHA1 Message Date
Stephan Schielke
8b0f5b76f4 Merge c40dc822a0 into 9e2c1548c3 2026-03-30 23:25:21 +00:00
Stephan Schielke
c40dc822a0 Merge branch 'ohmyzsh:master' into master 2026-03-31 00:25:17 +01:00
Stephan Schielke
5eb59aab8d Revert " feat: Ignore Stakpak session files in .gitignore"
This reverts commit b9288d65e3.

# Conflicts:
#	.gitignore
2026-03-30 23:48:37 +01:00
Stephan Schielke
1c966955ec ♻️ refactor: Rename grep.zsh.no back to grep.zsh 2026-03-30 23:45:38 +01:00
Stephan Schielke
48cf5e4389 Merge branch 'master' into fork-master
# Conflicts:
#	.gitignore
2026-03-29 09:10:44 +01:00
Stephan Schielke
b9288d65e3 feat: Ignore Stakpak session files in .gitignore
- Added `.stakpak/session*` to ignore Stakpak session files
2026-03-24 04:38:50 +00:00
Stephan Schielke
dd9e36f3ce 🧹 chore: Rename grep.zsh to .no for cleanup 2026-03-24 04:38:50 +00:00
Stephan Schielke
afd28c55b4 Merge branch 'ohmyzsh:master' into master 2026-03-24 04:32:12 +00:00
Developer
f61f623b5b fix(poetry-env): handle in-project virtual environments when path returns "."
When Poetry is configured with virtualenvs.in-project = true,
poetry env info --path returns "." instead of the full path.
This causes the plugin to fail with "no such file or directory: ./bin/activate".

Changes:
- Handle case where poetry returns "." by converting to $PWD/.venv
- Add safety check to ensure activate script exists before sourcing
- Maintain backward compatibility with existing setups

Fixes issue with in-project virtual environments used in monorepos and git worktrees.
2025-06-25 00:51:17 +01:00
11 changed files with 33 additions and 45 deletions

View File

@@ -30,7 +30,7 @@ dependencies:
plugins/kube-ps1:
repo: jonmosco/kube-ps1
branch: master
version: e19c9ee867c5655814c384a6bf543e330e6ef1b7
version: 9b41c091d5dd4a99e58cf58b5d98a4847937b1bb
precopy: |
set -e
find . ! -name kube-ps1.sh ! -name LICENSE ! -name README.md -delete

View File

@@ -13,7 +13,7 @@ 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@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
with:
egress-policy: audit

View File

@@ -1,7 +1,7 @@
certifi==2026.2.25
charset-normalizer==3.4.7
charset-normalizer==3.4.6
idna==3.11
PyYAML==6.0.3
requests==2.33.1
requests==2.33.0
semver==3.0.4
urllib3==2.6.3

View File

@@ -26,7 +26,7 @@ jobs:
- macos-latest
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
with:
egress-policy: audit
@@ -47,7 +47,7 @@ jobs:
- test
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
with:
egress-policy: audit

View File

@@ -24,7 +24,7 @@ jobs:
if: github.repository == 'ohmyzsh/ohmyzsh'
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
with:
egress-policy: audit

View File

@@ -17,7 +17,7 @@ jobs:
if: github.repository == 'ohmyzsh/ohmyzsh'
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
with:
egress-policy: audit
- name: Authenticate as @ohmyzsh

View File

@@ -36,7 +36,7 @@ jobs:
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
with:
egress-policy: audit

View File

@@ -55,17 +55,7 @@ _kube_ps1_shell_type() {
_kube_ps1_init() {
[[ -f "${_KUBE_PS1_DISABLE_PATH}" ]] && KUBE_PS1_ENABLED=off
# Detect shell type once and cache it
_KUBE_PS1_SHELL="$(_kube_ps1_shell_type)"
# Check tput availability once
if tput setaf 1 &> /dev/null; then
_KUBE_PS1_TPUT_AVAILABLE=true
else
_KUBE_PS1_TPUT_AVAILABLE=false
fi
case "${_KUBE_PS1_SHELL}" in
case "$(_kube_ps1_shell_type)" in
"zsh")
_KUBE_PS1_OPEN_ESC="%{"
_KUBE_PS1_CLOSE_ESC="%}"
@@ -106,10 +96,10 @@ _kube_ps1_color_fg() {
if [[ "${_KUBE_PS1_FG_CODE}" == "default" ]]; then
_KUBE_PS1_FG_CODE="${_KUBE_PS1_DEFAULT_FG}"
return
elif [[ "${_KUBE_PS1_SHELL}" == "zsh" ]]; then
elif [[ "$(_kube_ps1_shell_type)" == "zsh" ]]; then
_KUBE_PS1_FG_CODE="%F{$_KUBE_PS1_FG_CODE}"
elif [[ "${_KUBE_PS1_SHELL}" == "bash" ]]; then
if [[ "${_KUBE_PS1_TPUT_AVAILABLE}" == "true" ]]; then
elif [[ "$(_kube_ps1_shell_type)" == "bash" ]]; then
if tput setaf 1 &> /dev/null; then
_KUBE_PS1_FG_CODE="$(tput setaf "${_KUBE_PS1_FG_CODE}")"
elif [[ $_KUBE_PS1_FG_CODE -ge 0 ]] && [[ $_KUBE_PS1_FG_CODE -le 256 ]]; then
_KUBE_PS1_FG_CODE="\033[38;5;${_KUBE_PS1_FG_CODE}m"
@@ -139,15 +129,15 @@ _kube_ps1_color_bg() {
if [[ "${_KUBE_PS1_BG_CODE}" == "default" ]]; then
_KUBE_PS1_FG_CODE="${_KUBE_PS1_DEFAULT_BG}"
return
elif [[ "${_KUBE_PS1_SHELL}" == "zsh" ]]; then
elif [[ "$(_kube_ps1_shell_type)" == "zsh" ]]; then
_KUBE_PS1_BG_CODE="%K{$_KUBE_PS1_BG_CODE}"
elif [[ "${_KUBE_PS1_SHELL}" == "bash" ]]; then
if [[ "${_KUBE_PS1_TPUT_AVAILABLE}" == "true" ]]; then
elif [[ "$(_kube_ps1_shell_type)" == "bash" ]]; then
if tput setaf 1 &> /dev/null; then
_KUBE_PS1_BG_CODE="$(tput setab "${_KUBE_PS1_BG_CODE}")"
elif [[ $_KUBE_PS1_BG_CODE -ge 0 ]] && [[ $_KUBE_PS1_BG_CODE -le 256 ]]; then
_KUBE_PS1_BG_CODE="\033[48;5;${_KUBE_PS1_BG_CODE}m"
else
_KUBE_PS1_BG_CODE="${_KUBE_PS1_DEFAULT_BG}"
_KUBE_PS1_BG_CODE="${DEFAULT_BG}"
fi
fi
echo "${_KUBE_PS1_OPEN_ESC}${_KUBE_PS1_BG_CODE}${_KUBE_PS1_CLOSE_ESC}"
@@ -184,7 +174,7 @@ _kube_ps1_symbol() {
symbol="$(_kube_ps1_color_fg ${oc_symbol_color})${oc_glyph}${KUBE_PS1_RESET_COLOR}"
;;
*)
case "${_KUBE_PS1_SHELL}" in
case "$(_kube_ps1_shell_type)" in
bash)
if ((BASH_VERSINFO[0] >= 4)) && [[ $'\u2388' != "\\u2388" ]]; then
symbol="$(_kube_ps1_color_fg $custom_symbol_color)${symbol_default}${KUBE_PS1_RESET_COLOR}"
@@ -222,7 +212,7 @@ _kube_ps1_file_newer_than() {
local file=$1
local check_time=$2
if [[ "${_KUBE_PS1_SHELL}" == "zsh" ]]; then
if [[ "$(_kube_ps1_shell_type)" == "zsh" ]]; then
# Use zstat '-F %s.%s' to make it compatible with low zsh version (eg: 5.0.2)
mtime=$(zstat -L +mtime -F %s.%s "${file}")
elif stat -c "%s" /dev/null &> /dev/null; then
@@ -302,13 +292,13 @@ _kube_ps1_get_ns() {
_kube_ps1_get_context_ns() {
# Set the command time
if [[ "${_KUBE_PS1_SHELL}" == "bash" ]]; then
if [[ "$(_kube_ps1_shell_type)" == "bash" ]]; then
if ((BASH_VERSINFO[0] >= 4 && BASH_VERSINFO[1] >= 2)); then
_KUBE_PS1_LAST_TIME=$(printf '%(%s)T')
else
_KUBE_PS1_LAST_TIME=$(date +%s)
fi
elif [[ "${_KUBE_PS1_SHELL}" == "zsh" ]]; then
elif [[ "$(_kube_ps1_shell_type)" == "zsh" ]]; then
_KUBE_PS1_LAST_TIME=$EPOCHREALTIME
fi
@@ -335,7 +325,7 @@ Toggle kube-ps1 prompt on
Usage: kubeon [-g | --global] [-h | --help]
With no arguments, turn on kube-ps1 status for this shell instance (default).
With no arguments, turn oon kube-ps1 status for this shell instance (default).
-g --global turn on kube-ps1 status globally
-h --help print this message

View File

@@ -30,20 +30,14 @@ function tofu_version_prompt_info() {
alias tt='tofu'
alias tta='tofu apply'
alias tta!='tofu apply -auto-approve'
alias ttap='tofu apply -parallelism=1'
alias ttapp='tofu apply tfplan'
alias ttc='tofu console'
alias ttd='tofu destroy'
alias ttd!='tofu destroy -auto-approve'
alias ttf='tofu fmt'
alias ttfr='tofu fmt -recursive'
alias tti='tofu init'
alias ttir='tofu init -reconfigure'
alias ttiu='tofu init -upgrade'
alias ttiur='tofu init -upgrade -reconfigure'
alias tto='tofu output'
alias ttp='tofu plan'
alias ttpo='tofu plan -out tfplan'
alias ttv='tofu validate'
alias tts='tofu state'
alias ttsh='tofu show'

View File

@@ -15,7 +15,12 @@ _togglePoetryShell() {
# 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
venv_dir=$(poetry env info --path 2>/dev/null)
if [[ -n "$venv_dir" ]]; then
# Handle case where poetry returns "." for in-project virtual environments
if [[ "$venv_dir" == "." ]]; then
venv_dir="$PWD/.venv"
fi
# Only proceed if venv_dir is set and the activate script exists
if [[ -n "$venv_dir" && -f "${venv_dir}/bin/activate" ]]; then
export poetry_active=1
export poetry_dir="$PWD"
source "${venv_dir}/bin/activate"

View File

@@ -4,21 +4,21 @@ function tf_prompt_info() {
# check if in terraform dir and file exists
[[ -d "${TF_DATA_DIR:-.terraform}" && -r "${TF_DATA_DIR:-.terraform}/environment" ]] || return
local workspace="$(<"${TF_DATA_DIR:-.terraform}/environment")"
local workspace="$(< "${TF_DATA_DIR:-.terraform}/environment")"
echo "${ZSH_THEME_TF_PROMPT_PREFIX-[}${workspace:gs/%/%%}${ZSH_THEME_TF_PROMPT_SUFFIX-]}"
}
function tf_version_prompt_info() {
local terraform_version
terraform_version=$(terraform --version | head -n 1 | cut -d ' ' -f 2)
echo "${ZSH_THEME_TF_VERSION_PROMPT_PREFIX-[}${terraform_version:gs/%/%%}${ZSH_THEME_TF_VERSION_PROMPT_SUFFIX-]}"
local terraform_version
terraform_version=$(terraform --version | head -n 1 | cut -d ' ' -f 2)
echo "${ZSH_THEME_TF_VERSION_PROMPT_PREFIX-[}${terraform_version:gs/%/%%}${ZSH_THEME_TF_VERSION_PROMPT_SUFFIX-]}"
}
alias tf='terraform'
alias tfa='terraform apply'
alias tfa!='terraform apply -auto-approve'
alias tfap='terraform apply -parallelism=1'
alias tfapp='terraform apply tfplan'
alias tfc='terraform console'
alias tfd='terraform destroy'
alias tfd!='terraform destroy -auto-approve'
@@ -31,7 +31,6 @@ alias tfiu='terraform init -upgrade'
alias tfiur='terraform init -upgrade -reconfigure'
alias tfo='terraform output'
alias tfp='terraform plan'
alias tfpo='terraform plan -out tfplan'
alias tfv='terraform validate'
alias tfs='terraform state'
alias tft='terraform test'