1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2026-01-24 01:37:27 +08:00

Compare commits

..

No commits in common. "2eb3e9d57cf69f3c2fa557f9047e0a648d80b235" and "ecf2240b061215224e9502f6c0569dfc66e58ebc" have entirely different histories.

4 changed files with 36 additions and 64 deletions

View File

@ -17,7 +17,7 @@ function title {
: ${2=$1} : ${2=$1}
case "$TERM" in case "$TERM" in
cygwin|xterm*|putty*|rxvt*|konsole*|ansi) cygwin|xterm*|putty*|rxvt*|ansi)
print -Pn "\e]2;$2:q\a" # set window name print -Pn "\e]2;$2:q\a" # set window name
print -Pn "\e]1;$1:q\a" # set tab name print -Pn "\e]1;$1:q\a" # set tab name
;; ;;

View File

@ -62,12 +62,7 @@ fi
# Load awscli completions # Load awscli completions
# AWS CLI v2 comes with its own autocompletion. Check if that is there, otherwise fall back function _awscli-homebrew-installed() {
if [[ -x /usr/local/bin/aws_completer ]]; then
autoload -Uz bashcompinit && bashcompinit
complete -C aws_completer aws
else
function _awscli-homebrew-installed() {
# check if Homebrew is installed # check if Homebrew is installed
(( $+commands[brew] )) || return 1 (( $+commands[brew] )) || return 1
@ -79,13 +74,13 @@ else
# this call to brew is expensive (about 400 ms), so at least let's make it only once # this call to brew is expensive (about 400 ms), so at least let's make it only once
_brew_prefix=$(brew --prefix awscli) _brew_prefix=$(brew --prefix awscli)
fi fi
} }
# get aws_zsh_completer.sh location from $PATH # get aws_zsh_completer.sh location from $PATH
_aws_zsh_completer_path="$commands[aws_zsh_completer.sh]" _aws_zsh_completer_path="$commands[aws_zsh_completer.sh]"
# otherwise check common locations # otherwise check common locations
if [[ -z $_aws_zsh_completer_path ]]; then if [[ -z $_aws_zsh_completer_path ]]; then
# Homebrew # Homebrew
if _awscli-homebrew-installed; then if _awscli-homebrew-installed; then
_aws_zsh_completer_path=$_brew_prefix/libexec/bin/aws_zsh_completer.sh _aws_zsh_completer_path=$_brew_prefix/libexec/bin/aws_zsh_completer.sh
@ -96,8 +91,7 @@ else
else else
_aws_zsh_completer_path=/usr/share/zsh/site-functions/aws_zsh_completer.sh _aws_zsh_completer_path=/usr/share/zsh/site-functions/aws_zsh_completer.sh
fi fi
fi
[[ -r $_aws_zsh_completer_path ]] && source $_aws_zsh_completer_path
unset _aws_zsh_completer_path _brew_prefix
fi fi
[[ -r $_aws_zsh_completer_path ]] && source $_aws_zsh_completer_path
unset _aws_zsh_completer_path _brew_prefix

View File

@ -7,26 +7,21 @@ For this directory tree:
``` ```
/home/ /home/
me/ me/
f o o/ # The prefix f is ambiguous between "f o o" and "f i g". foo/
bar/ bar/
quux/ quux/
biz/ # The prefix b is ambiguous between bar and biz. biz/ # The prefix b is ambiguous between bar and biz.
f i g/
baz/
``` ```
here are the results of calling `shrink_path <option> /home/me/foo/bar/quux`: here are the results of calling `shrink_path <option> /home/me/foo/bar/quux`:
``` ```
Option Result Option Result
<none> /h/m/f o/ba/q <none> /h/m/f/ba/q
-l|--last /h/m/f o/ba/q -l|--last /h/m/f/ba/quux
-s|--short /h/m/f/b/q -s|--short /h/m/f/b/q
-t|--tilde ~/f o/ba/q -t|--tilde ~/f/ba/q
-f|--fish ~/f/b/quux -f|--fish ~/f/b/quux
-g|--glob /h*/m*/f o*/ba*/q* -3 /hom/me/foo/bar/quu
-3 /hom/me/f o/bar/quu -e '$' -3 /ho$/me/foo/bar/qu$
-e '$' -3 /hom$/me/f o$/bar/quu$
-q /h/m/f\ o/ba/q
-g -q /h*/m*/f\ o*/ba*/q*
``` ```
@ -44,7 +39,6 @@ The following options are available:
``` ```
-f, --fish fish simulation, equivalent to -l -s -t. -f, --fish fish simulation, equivalent to -l -s -t.
-g, --glob Add asterisk to allow globbing of shrunk path (equivalent to -e "*")
-l, --last Print the last directory's full name. -l, --last Print the last directory's full name.
-s, --short Truncate directory names to the number of characters given by -. Without -s, --short Truncate directory names to the number of characters given by -. Without
-s, names are truncated without making them ambiguous. -s, names are truncated without making them ambiguous.
@ -53,7 +47,6 @@ The following options are available:
-# Truncate each directly to at least this many characters inclusive of the -# Truncate each directly to at least this many characters inclusive of the
ellipsis character(s) (defaulting to 1). ellipsis character(s) (defaulting to 1).
-e SYMBOL Postfix symbol(s) to indicate that a directory name had been truncated. -e SYMBOL Postfix symbol(s) to indicate that a directory name had been truncated.
-q, --quote Quote special characters in the shrunk path
``` ```
The long options can also be set via zstyle, like The long options can also be set via zstyle, like

View File

@ -9,7 +9,6 @@
# The following options are available: # The following options are available:
# #
# -f, --fish fish simulation, equivalent to -l -s -t. # -f, --fish fish simulation, equivalent to -l -s -t.
# -g, --glob Add asterisk to allow globbing of shrunk path (equivalent to -e "*")
# -l, --last Print the last directory's full name. # -l, --last Print the last directory's full name.
# -s, --short Truncate directory names to the number of characters given by -#. Without # -s, --short Truncate directory names to the number of characters given by -#. Without
# -s, names are truncated without making them ambiguous. # -s, names are truncated without making them ambiguous.
@ -18,7 +17,6 @@
# -# Truncate each directly to at least this many characters inclusive of the # -# Truncate each directly to at least this many characters inclusive of the
# ellipsis character(s) (defaulting to 1). # ellipsis character(s) (defaulting to 1).
# -e SYMBOL Postfix symbol(s) to indicate that a directory name had been truncated. # -e SYMBOL Postfix symbol(s) to indicate that a directory name had been truncated.
# -q, --quote Quote special characters in the shrunk path
# #
# The long options can also be set via zstyle, like # The long options can also be set via zstyle, like
# zstyle :prompt:shrink_path fish yes # zstyle :prompt:shrink_path fish yes
@ -44,7 +42,6 @@ shrink_path () {
typeset -i named=0 typeset -i named=0
typeset -i length=1 typeset -i length=1
typeset ellipsis="" typeset ellipsis=""
typeset -i quote=0
if zstyle -t ':prompt:shrink_path' fish; then if zstyle -t ':prompt:shrink_path' fish; then
lastfull=1 lastfull=1
@ -58,8 +55,6 @@ shrink_path () {
zstyle -t ':prompt:shrink_path' last && lastfull=1 zstyle -t ':prompt:shrink_path' last && lastfull=1
zstyle -t ':prompt:shrink_path' short && short=1 zstyle -t ':prompt:shrink_path' short && short=1
zstyle -t ':prompt:shrink_path' tilde && tilde=1 zstyle -t ':prompt:shrink_path' tilde && tilde=1
zstyle -t ':prompt:shrink_path' glob && ellipsis='*'
zstyle -t ':prompt:shrink_path' quote && quote=1
while [[ $1 == -* ]]; do while [[ $1 == -* ]]; do
case $1 in case $1 in
@ -75,7 +70,6 @@ shrink_path () {
-h|--help) -h|--help)
print 'Usage: shrink_path [-f -l -s -t] [directory]' print 'Usage: shrink_path [-f -l -s -t] [directory]'
print ' -f, --fish fish-simulation, like -l -s -t' print ' -f, --fish fish-simulation, like -l -s -t'
print ' -g, --glob Add asterisk to allow globbing of shrunk path (equivalent to -e "*")'
print ' -l, --last Print the last directory''s full name' print ' -l, --last Print the last directory''s full name'
print ' -s, --short Truncate directory names to the number of characters given by -#. Without' print ' -s, --short Truncate directory names to the number of characters given by -#. Without'
print ' -s, names are truncated without making them ambiguous.' print ' -s, names are truncated without making them ambiguous.'
@ -84,7 +78,6 @@ shrink_path () {
print ' -# Truncate each directly to at least this many characters inclusive of the' print ' -# Truncate each directly to at least this many characters inclusive of the'
print ' ellipsis character(s) (defaulting to 1).' print ' ellipsis character(s) (defaulting to 1).'
print ' -e SYMBOL Postfix symbol(s) to indicate that a directory name had been truncated.' print ' -e SYMBOL Postfix symbol(s) to indicate that a directory name had been truncated.'
print ' -q, --quote Quote special characters in the shrunk path'
print 'The long options can also be set via zstyle, like' print 'The long options can also be set via zstyle, like'
print ' zstyle :prompt:shrink_path fish yes' print ' zstyle :prompt:shrink_path fish yes'
return 0 return 0
@ -103,12 +96,6 @@ shrink_path () {
shift shift
ellipsis="$1" ellipsis="$1"
;; ;;
-g|--glob)
ellipsis='*'
;;
-q|--quote)
quote=1
;;
esac esac
shift shift
done done
@ -153,11 +140,9 @@ shrink_path () {
typeset -i dif=$(( ${#dir} - ${#part} - ellen )) typeset -i dif=$(( ${#dir} - ${#part} - ellen ))
if [[ $dif -gt 0 ]] if [[ $dif -gt 0 ]]
then then
(( quote )) && part=${(q)part}
part+="$ellipsis" part+="$ellipsis"
else else
part="$dir" part="$dir"
(( quote )) && part=${(q)part}
fi fi
result+="/$part" result+="/$part"
cd -q $dir cd -q $dir