diff options
Diffstat (limited to 'plugins/web-search/web-search.plugin.zsh')
-rw-r--r-- | plugins/web-search/web-search.plugin.zsh | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/plugins/web-search/web-search.plugin.zsh b/plugins/web-search/web-search.plugin.zsh index 326a30745..0a2b8809e 100644 --- a/plugins/web-search/web-search.plugin.zsh +++ b/plugins/web-search/web-search.plugin.zsh @@ -6,6 +6,7 @@ function web_search() { # define search engine URLS typeset -A urls urls=( + $ZSH_WEB_SEARCH_ENGINES google "https://www.google.com/search?q=" bing "https://www.bing.com/search?q=" yahoo "https://search.yahoo.com/search?p=" @@ -21,11 +22,12 @@ function web_search() { stackoverflow "https://stackoverflow.com/search?q=" wolframalpha "https://www.wolframalpha.com/input/?i=" archive "https://web.archive.org/web/*/" + scholar "https://scholar.google.com/scholar?q=" ) # check whether the search engine is supported if [[ -z "$urls[$1]" ]]; then - echo "Search engine $1 not supported." + echo "Search engine '$1' not supported." return 1 fi @@ -59,6 +61,7 @@ alias givero='web_search givero' alias stackoverflow='web_search stackoverflow' alias wolframalpha='web_search wolframalpha' alias archive='web_search archive' +alias scholar='web_search scholar' #add your own !bang searches here alias wiki='web_search duckduckgo \!w' @@ -67,3 +70,13 @@ alias youtube='web_search duckduckgo \!yt' alias map='web_search duckduckgo \!m' alias image='web_search duckduckgo \!i' alias ducky='web_search duckduckgo \!' + +# other search engine aliases +if [[ ${#ZSH_WEB_SEARCH_ENGINES} -gt 0 ]]; then + typeset -A engines + engines=($ZSH_WEB_SEARCH_ENGINES) + for key in ${(k)engines}; do + alias "$key"="web_search $key" + done + unset engines key +fi |