1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-11-24 18:38:26 +08:00
ohmyzsh/plugins/web-search/web-search.plugin.zsh
Pete "Peteches" McCabe 1d2c1e8ab8 Fixed output issues webith websearch plugin.
- if user has rm set as an alias to 'rm -i' user is prompted to whether to
  remove the nohup.out file.

 $ ddg fools
	nohup: ignoring input and appending output to ‘nohup.out’
	rm: remove regular empty file ‘nohup.out’?

- if output redirected to a file nohup will not create nohup.out and rm is
  unecessary.
2014-12-12 17:37:35 +00:00

55 lines
1.2 KiB
Bash

# web_search from terminal
function web_search() {
# get the open command
local open_cmd
if [[ "$OSTYPE" = darwin* ]]; then
open_cmd='open'
else
open_cmd='xdg-open'
fi
# check whether the search engine is supported
if [[ ! $1 =~ '(google|bing|yahoo|duckduckgo)' ]];
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
if [[ $1 == 'duckduckgo' ]]; then
#slightly different search syntax for DDG
url="${url}/?q="
else
url="${url}/search?q="
fi
shift # shift out $1
while [[ $# -gt 0 ]]; do
url="${url}$1+"
shift
done
url="${url%?}" # remove the last '+'
nohup $open_cmd "$url" >/dev/null 2&>1
}
alias bing='web_search bing'
alias google='web_search google'
alias yahoo='web_search yahoo'
alias ddg='web_search duckduckgo'
#add your own !bang searches here
alias wiki='web_search duckduckgo \!w'
alias news='web_search duckduckgo \!n'
alias youtube='web_search duckduckgo \!yt'
alias map='web_search duckduckgo \!m'
alias image='web_search duckduckgo \!i'
alias ducky='web_search duckduckgo \!'