summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/termsupport.zsh48
1 files changed, 23 insertions, 25 deletions
diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh
index ef9f0e5f1..7cb3791e6 100644
--- a/lib/termsupport.zsh
+++ b/lib/termsupport.zsh
@@ -63,33 +63,31 @@ if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]] && [[ -z "$INSIDE_EMACS" ]]; then
# Outputs the encoded string on stdout
# Returns nonzero if encoding failed
function _omz_urlencode() {
+ local str=$1
local url_str=''
- {
- local str=$1
-
- # URLs must use UTF-8 encoding; convert if required
- local encoding=${LC_CTYPE/*./}
- if [[ -n $encoding && $encoding != UTF-8 ]]; then
- 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
- }
+ # URLs must use UTF-8 encoding; convert if required
+ local encoding=${LC_CTYPE/*./}
+ if [[ -n $encoding && $encoding != UTF-8 ]]; then
+ 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