From 14b4ba83c35c34f4a1f3a69c9967f502ee2d6528 Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Sun, 9 Aug 2015 16:28:47 -0400 Subject: Move urlencode/urldecode functions to core lib --- lib/termsupport.zsh | 33 +-------------------------------- 1 file changed, 1 insertion(+), 32 deletions(-) (limited to 'lib/termsupport.zsh') 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 -- cgit v1.2.3-70-g09d2