diff options
author | Hong Xu <hong@topbug.net> | 2013-05-20 22:18:07 -0700 |
---|---|---|
committer | Hong Xu <hong@topbug.net> | 2013-05-20 22:18:07 -0700 |
commit | 25313814775c08c64dc541fbadceb38c669c541a (patch) | |
tree | 5c7afd525b144a753d502f9c1da6e39b09173f72 /plugins | |
parent | 27c6becffde091cc55e0df70875451ca82867935 (diff) | |
download | zsh-25313814775c08c64dc541fbadceb38c669c541a.tar.gz zsh-25313814775c08c64dc541fbadceb38c669c541a.tar.bz2 zsh-25313814775c08c64dc541fbadceb38c669c541a.zip |
Add web-search plugin.
This plugin adds google, bing and yahoo commands to launch the default
web browser to do web search:
e.g.
google oh-my-zsh
bing what is zsh
Diffstat (limited to 'plugins')
-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' |