diff options
Diffstat (limited to 'repology')
-rwxr-xr-x | repology | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/repology b/repology new file mode 100755 index 0000000..7e78c26 --- /dev/null +++ b/repology @@ -0,0 +1,41 @@ +#!/bin/sh + +# elvis: repology -- Search Linux distro package metadata with repology.org + +. surfraw || exit 1 + +w3_usage_hook() { + cat <<EOF +Usage: $w3_argv0 [options] [search words]... +Description: + Surfraw search Linux distro package metadata +Local options: + -p,-pkg,-package Search package names + -m,-maint Search maintainers by email address +By default, if there's an @ in the search term, a maintainer search is done, +otherwise a package search. +EOF + w3_global_usage +} + +w3_parse_option_hook() { + opt="$1" + optarg="$2" + case "$opt" in + -p|-pkg|-pac*) repo_target="/projects/" ;; + -m|-main*) repo_target="/maintainers/" ;; + *) return 1 ;; + esac + return 0 +} + +w3_config +w3_parse_args "$@" + +[ -z "$repo_target" ] && case "$w3_args" in + *@*) repo_target="/maintainers/" ;; + *) repo_target="/projects/" ;; +esac + +url="https://repology.org/${repo_target}?search=$( w3_url_of_arg $w3_args )"; +w3_browse_url "$url" |