summaryrefslogtreecommitdiff
path: root/lib/termsupport.zsh
diff options
context:
space:
mode:
authorAndrew Janke <andrew@apjanke.net>2015-08-09 16:28:47 -0400
committerAndrew Janke <andrew@apjanke.net>2015-08-09 16:28:47 -0400
commit14b4ba83c35c34f4a1f3a69c9967f502ee2d6528 (patch)
treee85847864888e7544f046990958c8a9c812d777d /lib/termsupport.zsh
parent88f42b6132adedff7557170168416d575569b56e (diff)
downloadzsh-14b4ba83c35c34f4a1f3a69c9967f502ee2d6528.tar.gz
zsh-14b4ba83c35c34f4a1f3a69c9967f502ee2d6528.tar.bz2
zsh-14b4ba83c35c34f4a1f3a69c9967f502ee2d6528.zip
Move urlencode/urldecode functions to core lib
Diffstat (limited to 'lib/termsupport.zsh')
-rw-r--r--lib/termsupport.zsh33
1 files changed, 1 insertions, 32 deletions
diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh
index 52622f5ab..726cdce41 100644
--- a/lib/termsupport.zsh
+++ b/lib/termsupport.zsh
@@ -59,44 +59,13 @@ preexec_functions+=(omz_termsupport_preexec)
if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]] && [[ -z "$INSIDE_EMACS" ]]; then
- # URL-encodes a string
- # Outputs the encoded string on stdout
- # Returns nonzero if encoding failed
- function _omz_urlencode() {
- local str=$1
- local url_str=""
-
- # URLs must use UTF-8 encoding; convert if required
- local encoding=${LC_CTYPE/*./}
- if [[ -n $encoding && $encoding != UTF-8 && $encoding != utf8 ]]; then
- str=$(echo $str | iconv -f $encoding -t UTF-8)
- if [[ $? != 0 ]]; then
- echo "Error converting string from $encoding to UTF-8" >&2
- return 1
- fi
- fi
-
- # Use LC_CTYPE=C to process text byte-by-byte
- local i ch hexch LC_CTYPE=C
- for ((i = 1; i <= ${#str}; ++i)); do
- ch="$str[i]"
- if [[ "$ch" =~ [/._~A-Za-z0-9-] ]]; then
- url_str+="$ch"
- else
- hexch=$(printf "%02X" "'$ch")
- url_str+="%$hexch"
- fi
- done
- echo $url_str
- }
-
# Emits the control sequence to notify Terminal.app of the cwd
function update_terminalapp_cwd() {
# Identify the directory using a "file:" scheme URL, including
# the host name to disambiguate local vs. remote paths.
# Percent-encode the pathname.
- local URL_PATH=$(_omz_urlencode $PWD)
+ local URL_PATH=$(omz_urlencode -P $PWD)
[[ $? != 0 ]] && return 1
local PWD_URL="file://$HOST$URL_PATH"
# Undocumented Terminal.app-specific control sequence