1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2026-01-07 21:18:01 +08:00

Compare commits

...

4 Commits

Author SHA1 Message Date
Olivier Mehani
7f472f15b0
Merge d7c1e0404a into f84341c574 2025-12-11 19:47:18 +01:00
tDwtp
f84341c574
fix(git): git_status_prompt should respect spaces in prefixes (#13478) 2025-12-11 15:05:23 +01:00
Tanzim Hossain Romel
92aed2e936
feat(extract): add unar as fallback for RAR extraction (#13472)
Add unar as a fallback when unrar is not available for extracting
RAR files. This addresses the issue where unrar has been removed
from Homebrew due to licensing issues.

The extraction now:
- Prefers unrar if available (backward compatible)
- Falls back to unar if unrar is not found
- Shows helpful error message if neither tool is installed
2025-12-09 20:14:31 +01:00
Olivier Mehani
d7c1e0404a
[lib/git.zsh] Add git_commit_status
Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2020-07-24 10:17:34 +10:00
2 changed files with 18 additions and 2 deletions

View File

@ -117,7 +117,7 @@ function _omz_git_prompt_status() {
fi
# For each status prefix, do a regex comparison
for status_prefix in ${(k)prefix_constant_map}; do
for status_prefix in "${(@k)prefix_constant_map}"; do
local status_constant="${prefix_constant_map[$status_prefix]}"
local status_regex=$'(^|\n)'"$status_prefix"
@ -310,6 +310,14 @@ function git_commits_behind() {
fi
}
function git_commits_status() {
local ahead=$(git_commits_ahead)
local behind=$(git_commits_behind)
if [[ -n "$ahead$behind" ]]; then
echo "$ZSH_THEME_GIT_COMMITS_STATUS_PREFIX$ahead$behind$ZSH_THEME_GIT_COMMITS_STATUS_SUFFIX"
fi
}
# Outputs if current branch is ahead of remote
function git_prompt_ahead() {
if [[ -n "$(__git_prompt_git rev-list origin/$(git_current_branch)..HEAD 2> /dev/null)" ]]; then

View File

@ -77,7 +77,15 @@ EOF
(*.lzma) unlzma "$full_path" ;;
(*.z) uncompress "$full_path" ;;
(*.zip|*.war|*.jar|*.ear|*.sublime-package|*.ipa|*.ipsw|*.xpi|*.apk|*.aar|*.whl|*.vsix|*.crx|*.pk3|*.pk4) unzip "$full_path" ;;
(*.rar) unrar x -ad "$full_path" ;;
(*.rar)
if (( $+commands[unrar] )); then
unrar x -ad "$full_path"
elif (( $+commands[unar] )); then
unar -o . "$full_path"
else
echo "extract: cannot extract RAR files: install unrar or unar" >&2
success=1
fi ;;
(*.rpm)
rpm2cpio "$full_path" | cpio --quiet -id ;;
(*.7z | *.7z.[0-9]* | *.pk7) 7za x "$full_path" ;;