diff options
author | dongweiming <ciici123@gmail.com> | 2013-07-02 00:22:25 +0800 |
---|---|---|
committer | dongweiming <ciici123@gmail.com> | 2013-07-02 00:22:25 +0800 |
commit | c164f2aab693f4b32c209cb34784818fba434b2d (patch) | |
tree | c21222c70d80c68f655388d88e3f8564a75c8bc2 /plugins | |
parent | 46d4606e66c8060d281f181db8e8fdae4c264290 (diff) | |
download | zsh-c164f2aab693f4b32c209cb34784818fba434b2d.tar.gz zsh-c164f2aab693f4b32c209cb34784818fba434b2d.tar.bz2 zsh-c164f2aab693f4b32c209cb34784818fba434b2d.zip |
Add shell built method
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/urltools/urltools.plugin.zsh | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/plugins/urltools/urltools.plugin.zsh b/plugins/urltools/urltools.plugin.zsh index 4ddfff8ce..22327334d 100644 --- a/plugins/urltools/urltools.plugin.zsh +++ b/plugins/urltools/urltools.plugin.zsh @@ -14,6 +14,9 @@ if [[ $(whence node) != "" && ( "x$URLTOOLS_METHOD" = "x" || "x$URLTOOLS_METHOD elif [[ $(whence python) != "" && ( "x$URLTOOLS_METHOD" = "x" || "x$URLTOOLS_METHOD" = "xpython" ) ]]; then alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1])"' alias urldecode='python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])"' +elif [[ $(whence xxd) != "" && ( "x$URLTOOLS_METHOD" = "x" || "x$URLTOOLS_METHOD" = "xshell" ) ]]; then + function urlencode() {echo $@ | tr -d "\n" | xxd -plain | sed "s/\(..\)/%\1/g"} + function urldecode() {printf $(echo -n $@ | sed 's/\\/\\\\/g;s/\(%\)\([0-9a-fA-F][0-9a-fA-F]\)/\\x\2/g')"\n"} elif [[ $(whence ruby) != "" && ( "x$URLTOOLS_METHOD" = "x" || "x$URLTOOLS_METHOD" = "xruby" ) ]]; then alias urlencode='ruby -r cgi -e "puts CGI.escape(ARGV[0])"' alias urldecode='ruby -r cgi -e "puts CGI.unescape(ARGV[0])"' @@ -33,4 +36,4 @@ elif [[ $(whence perl) != "" && ( "x$URLTOOLS_METHOD" = "x" || "x$URLTOOLS_METHO fi fi -unset URLTOOLS_METHOD
\ No newline at end of file +unset URLTOOLS_METHOD |