From 2e370ce13b0dea9d75a376afd94fc7ebfe58db72 Mon Sep 17 00:00:00 2001 From: Blallo Date: Thu, 18 Mar 2021 11:17:18 +0100 Subject: [PATCH] Add url manipulation utilities --- .zshrc | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.zshrc b/.zshrc index ebb745c..d2df3f9 100644 --- a/.zshrc +++ b/.zshrc @@ -241,6 +241,31 @@ function sway-screens { fi } +urlencode() { + # urlencode + + old_lc_collate=$LC_COLLATE + LC_COLLATE=C + + local length="${#1}" + for (( i = 0; i < length; i++ )); do + local c="${1:$i:1}" + case $c in + [a-zA-Z0-9.~_-]) printf '%s' "$c" ;; + *) printf '%%%02X' "'$c" ;; + esac + done + + LC_COLLATE=$old_lc_collate +} + +urldecode() { + # urldecode + + local url_encoded="${1//+/ }" + printf '%b' "${url_encoded//%/\\x}" +} + ## Custom completion # certo eval "$(_CERTO_COMPLETE=source_zsh certo)"