Add url manipulation utilities
This commit is contained in:
parent
2146a790b6
commit
2e370ce13b
1 changed files with 25 additions and 0 deletions
25
.zshrc
25
.zshrc
|
@ -241,6 +241,31 @@ function sway-screens {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
urlencode() {
|
||||||
|
# urlencode <string>
|
||||||
|
|
||||||
|
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 <string>
|
||||||
|
|
||||||
|
local url_encoded="${1//+/ }"
|
||||||
|
printf '%b' "${url_encoded//%/\\x}"
|
||||||
|
}
|
||||||
|
|
||||||
## Custom completion
|
## Custom completion
|
||||||
# certo
|
# certo
|
||||||
eval "$(_CERTO_COMPLETE=source_zsh certo)"
|
eval "$(_CERTO_COMPLETE=source_zsh certo)"
|
||||||
|
|
Loading…
Reference in a new issue