Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
3841115f
Commit
3841115f
authored
Dec 05, 2015
by
Marc Cornellà
Browse files
Merge pull request #4654 from mcornella/termsupport-cleanup
Make code in lib/termsupport.zsh more readable
parents
c82f49e7
4e306887
Changes
1
Hide whitespace changes
Inline
Side-by-side
lib/termsupport.zsh
View file @
3841115f
...
@@ -16,25 +16,35 @@ function title {
...
@@ -16,25 +16,35 @@ function title {
# if it is set and empty, leave it as is
# if it is set and empty, leave it as is
:
${
2
=
$1
}
:
${
2
=
$1
}
if
[[
"
$TERM
"
==
screen
*
]]
;
then
case
"
$TERM
"
in
print
-Pn
"
\e
k
$1
:q
\e\\
"
#set screen hardstatus, usually truncated at 20 chars
cygwin|xterm
*
|
putty
*
|
rxvt
*
|
ansi
)
elif
[[
"
$TERM
"
==
xterm
*
]]
||
[[
"
$TERM
"
==
putty
*
]]
||
[[
"
$TERM
"
==
rxvt
*
]]
||
[[
"
$TERM
"
==
ansi
]]
||
[[
"
$TERM
"
==
cygwin
]]
||
[[
"
$TERM_PROGRAM
"
==
"iTerm.app"
]]
;
then
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 icon (=tab) name
;;
fi
screen
*
)
print
-Pn
"
\e
k
$1
:q
\e\\
"
# set screen hardstatus
;;
*
)
if
[[
"
$TERM_PROGRAM
"
==
"iTerm.app"
]]
;
then
print
-Pn
"
\e
]2;
$2
:q
\a
"
# set window name
print
-Pn
"
\e
]1;
$1
:q
\a
"
# set tab name
fi
;;
esac
}
}
ZSH_THEME_TERM_TAB_TITLE_IDLE
=
"%15<..<%~%<<"
#15 char left truncated PWD
ZSH_THEME_TERM_TAB_TITLE_IDLE
=
"%15<..<%~%<<"
#15 char left truncated PWD
ZSH_THEME_TERM_TITLE_IDLE
=
"%n@%m: %~"
ZSH_THEME_TERM_TITLE_IDLE
=
"%n@%m: %~"
# Avoid duplication of directory in terminals with independent dir display
# Avoid duplication of directory in terminals with independent dir display
if
[[
$TERM_PROGRAM
==
Apple_Terminal
]]
;
then
if
[[
"
$TERM_PROGRAM
"
==
Apple_Terminal
]]
;
then
ZSH_THEME_TERM_TITLE_IDLE
=
"%n@%m"
ZSH_THEME_TERM_TITLE_IDLE
=
"%n@%m"
fi
fi
# Runs before showing the prompt
# Runs before showing the prompt
function
omz_termsupport_precmd
{
function
omz_termsupport_precmd
{
emulate
-L
zsh
emulate
-L
zsh
if
[[
$DISABLE_AUTO_TITLE
==
true
]]
;
then
if
[[
"
$DISABLE_AUTO_TITLE
"
==
true
]]
;
then
return
return
fi
fi
...
@@ -44,12 +54,12 @@ function omz_termsupport_precmd {
...
@@ -44,12 +54,12 @@ function omz_termsupport_precmd {
# Runs before executing the command
# Runs before executing the command
function
omz_termsupport_preexec
{
function
omz_termsupport_preexec
{
emulate
-L
zsh
emulate
-L
zsh
if
[[
$DISABLE_AUTO_TITLE
==
true
]]
;
then
setopt extended_glob
if
[[
"
$DISABLE_AUTO_TITLE
"
==
true
]]
;
then
return
return
fi
fi
setopt extended_glob
# cmd name only, or if this is sudo or ssh, the next cmd
# cmd name only, or if this is sudo or ssh, the next cmd
local
CMD
=
${
1
[(wr)^(*=*|sudo|ssh|mosh|rake|-*)]
:gs/%/%%
}
local
CMD
=
${
1
[(wr)^(*=*|sudo|ssh|mosh|rake|-*)]
:gs/%/%%
}
local
LINE
=
"
${
2
:gs/%/%%
}
"
local
LINE
=
"
${
2
:gs/%/%%
}
"
...
@@ -66,19 +76,18 @@ preexec_functions+=(omz_termsupport_preexec)
...
@@ -66,19 +76,18 @@ preexec_functions+=(omz_termsupport_preexec)
# With extra fixes to handle multibyte chars and non-UTF-8 locales
# With extra fixes to handle multibyte chars and non-UTF-8 locales
if
[[
"
$TERM_PROGRAM
"
==
"Apple_Terminal"
]]
&&
[[
-z
"
$INSIDE_EMACS
"
]]
;
then
if
[[
"
$TERM_PROGRAM
"
==
"Apple_Terminal"
]]
&&
[[
-z
"
$INSIDE_EMACS
"
]]
;
then
# Emits the control sequence to notify Terminal.app of the cwd
# Emits the control sequence to notify Terminal.app of the cwd
# Identifies the directory using a file: URI scheme, including
# the host name to disambiguate local vs. remote paths.
function
update_terminalapp_cwd
()
{
function
update_terminalapp_cwd
()
{
emulate
-L
zsh
emulate
-L
zsh
# Identify the directory using a "file:" scheme URL, including
# the host name to disambiguate local vs. remote paths.
# Percent-encode the pathname.
# Percent-encode the pathname.
local
URL_PATH
=
"
$(
omz_urlencode
-P
$PWD
)
"
local
URL_PATH
=
"
$(
omz_urlencode
-P
$PWD
)
"
[[
$?
!=
0
]]
&&
return
1
[[
$?
!=
0
]]
&&
return
1
local
PWD_URL
=
"file://
$HOST$URL_PATH
"
# Undocumented Terminal.app-specific control sequence
# Undocumented Terminal.app-specific control sequence
printf
'\e]7;%s\a'
$PWD_URL
printf
'\e]7;%s\a'
"file://
$HOST$URL_PATH
"
}
}
# Use a precmd hook instead of a chpwd hook to avoid contaminating output
# Use a precmd hook instead of a chpwd hook to avoid contaminating output
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment