summaryrefslogtreecommitdiff
path: root/plugins/web-search
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/web-search')
-rw-r--r--plugins/web-search/README.md53
-rw-r--r--plugins/web-search/web-search.plugin.zsh30
2 files changed, 72 insertions, 11 deletions
diff --git a/plugins/web-search/README.md b/plugins/web-search/README.md
new file mode 100644
index 000000000..9c01f0724
--- /dev/null
+++ b/plugins/web-search/README.md
@@ -0,0 +1,53 @@
+# web-search plugin
+
+This plugin adds aliases for searching with Google, Wiki, Bing, YouTube and other popular services.
+
+Open your `~/.zshrc` file and enable the `web-search` plugin:
+
+```zsh
+plugins=( ... web-search)
+```
+
+## Usage
+
+You can use the `web-search` plugin in these two forms:
+
+* `web_search <context> <term> [more terms if you want]`
+* `<context> <term> [more terms if you want]`
+
+For example, these two are equivalent:
+
+```zsh
+$ web_search google oh-my-zsh
+$ google oh-my-zsh
+```
+
+Available search contexts are:
+
+| Context | URL |
+|-----------------------|------------------------------------------|
+| `bing` | `https://www.bing.com/search?q=` |
+| `google` | `https://www.google.com/search?q=` |
+| `yahoo` | `https://search.yahoo.com/search?p=` |
+| `ddg` or `duckduckgo` | `https://www.duckduckgo.com/?q=` |
+| `sp` or `startpage` | `https://www.startpage.com/do/search?q=` |
+| `yandex` | `https://yandex.ru/yandsearch?text=` |
+| `github` | `https://github.com/search?q=` |
+| `baidu` | `https://www.baidu.com/s?wd=` |
+| `ecosia` | `https://www.ecosia.org/search?q=` |
+| `goodreads` | `https://www.goodreads.com/search?q=` |
+| `qwant` | `https://www.qwant.com/?q=` |
+| `givero` | `https://www.givero.com/search?q=` |
+| `stackoverflow` | `https://stackoverflow.com/search?q=` |
+| `wolframalpha` | `https://wolframalpha.com/input?i=` |
+
+Also there are aliases for bang-searching DuckDuckGo:
+
+| Context | Bang |
+|-----------|-------|
+| `wiki` | `!w` |
+| `news` | `!n` |
+| `youtube` | `!yt` |
+| `map` | `!m` |
+| `image` | `!i` |
+| `ducky` | `!` |
diff --git a/plugins/web-search/web-search.plugin.zsh b/plugins/web-search/web-search.plugin.zsh
index 572427b0b..f975bad7a 100644
--- a/plugins/web-search/web-search.plugin.zsh
+++ b/plugins/web-search/web-search.plugin.zsh
@@ -10,19 +10,18 @@ function web_search() {
bing "https://www.bing.com/search?q="
yahoo "https://search.yahoo.com/search?p="
duckduckgo "https://www.duckduckgo.com/?q="
+ startpage "https://www.startpage.com/do/search?q="
yandex "https://yandex.ru/yandsearch?text="
+ github "https://github.com/search?q="
+ baidu "https://www.baidu.com/s?wd="
+ ecosia "https://www.ecosia.org/search?q="
+ goodreads "https://www.goodreads.com/search?q="
+ qwant "https://www.qwant.com/?q="
+ givero "https://www.givero.com/search?q="
+ stackoverflow "https://stackoverflow.com/search?q="
+ wolframalpha "https://www.wolframalpha.com/input/?i="
)
- # define the open command
- case "$OSTYPE" in
- darwin*) open_cmd="open" ;;
- cygwin*) open_cmd="cygstart" ;;
- linux*) open_cmd="xdg-open" ;;
- *) echo "Platform $OSTYPE not supported"
- return 1
- ;;
- esac
-
# check whether the search engine is supported
if [[ -z "$urls[$1]" ]]; then
echo "Search engine $1 not supported."
@@ -40,7 +39,7 @@ function web_search() {
url="${(j://:)${(s:/:)urls[$1]}[1,2]}"
fi
- nohup $open_cmd "$url" &>/dev/null
+ open_command "$url"
}
@@ -48,7 +47,16 @@ alias bing='web_search bing'
alias google='web_search google'
alias yahoo='web_search yahoo'
alias ddg='web_search duckduckgo'
+alias sp='web_search startpage'
alias yandex='web_search yandex'
+alias github='web_search github'
+alias baidu='web_search baidu'
+alias ecosia='web_search ecosia'
+alias goodreads='web_search goodreads'
+alias qwant='web_search qwant'
+alias givero='web_search givero'
+alias stackoverflow='web_search stackoverflow'
+alias wolframalpha='web_search wolframalpha'
#add your own !bang searches here
alias wiki='web_search duckduckgo \!w'