diff options
author | Robby Russell <robby@planetargon.com> | 2013-05-21 15:51:07 -0700 |
---|---|---|
committer | Robby Russell <robby@planetargon.com> | 2013-05-21 15:51:07 -0700 |
commit | 78077afd12ae30e000ff500818c288df63aa0bbe (patch) | |
tree | 3224808e71e690f9b05600a173f8e538e6ce7d18 /plugins/web-search/web-search.plugin.zsh | |
parent | 688225a07e765890bb9a24a5ca0a70249cf3f642 (diff) | |
parent | 25313814775c08c64dc541fbadceb38c669c541a (diff) | |
download | zsh-78077afd12ae30e000ff500818c288df63aa0bbe.tar.gz zsh-78077afd12ae30e000ff500818c288df63aa0bbe.tar.bz2 zsh-78077afd12ae30e000ff500818c288df63aa0bbe.zip |
Merge pull request #1837 from xuhdev/web-search
Add web-search plugin.
Diffstat (limited to 'plugins/web-search/web-search.plugin.zsh')
-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' |