diff options
author | yleo77 <ylep77@gmail.com> | 2013-07-16 16:37:18 +0800 |
---|---|---|
committer | yleo77 <ylep77@gmail.com> | 2013-07-16 16:37:18 +0800 |
commit | 67b2781f6200a0dff35055eb67937a0df2be2c51 (patch) | |
tree | 73b692f4146042966f7d2fed10ab88946cbc077b /plugins/web-search | |
parent | 6b832b93588567cb00b9a9e8170a5ebf539dea51 (diff) | |
parent | 7f74294d7aa7ab86e18e70a1153c15fa373c5849 (diff) | |
download | zsh-67b2781f6200a0dff35055eb67937a0df2be2c51.tar.gz zsh-67b2781f6200a0dff35055eb67937a0df2be2c51.tar.bz2 zsh-67b2781f6200a0dff35055eb67937a0df2be2c51.zip |
Merge remote-tracking branch 'robbyrussell/master'
Diffstat (limited to 'plugins/web-search')
-rw-r--r-- | plugins/web-search/web-search.plugin.zsh | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/plugins/web-search/web-search.plugin.zsh b/plugins/web-search/web-search.plugin.zsh new file mode 100644 index 000000000..6b6de2b15 --- /dev/null +++ b/plugins/web-search/web-search.plugin.zsh @@ -0,0 +1,43 @@ +# web_search from terminal + +function web_search() { + + # get the open command + local open_cmd + if [[ $(uname -s) == 'Darwin' ]]; then + open_cmd='open' + else + open_cmd='xdg-open' + fi + + # check whether the search engine is supported + if [[ ! $1 =~ '(google|bing|yahoo)' ]]; + then + echo "Search engine $1 not supported." + return 1 + fi + + local url="http://www.$1.com" + + # no keyword provided, simply open the search engine homepage + if [[ $# -le 1 ]]; then + $open_cmd "$url" + return + fi + + url="${url}/search?q=" + shift # shift out $1 + + while [[ $# -gt 0 ]]; do + url="${url}$1+" + shift + done + + url="${url%?}" # remove the last '+' + + $open_cmd "$url" +} + +alias bing='web_search bing' +alias google='web_search google' +alias yahoo='web_search yahoo' |