diff options
author | B. Watson <yalhcru@gmail.com> | 2019-12-30 05:45:19 -0500 |
---|---|---|
committer | B. Watson <yalhcru@gmail.com> | 2019-12-30 05:45:19 -0500 |
commit | 107d068ea14529fdec7d9c0183fb094dd39952a1 (patch) | |
tree | 5968782f94d44589568a474abe2c278faacdbd87 /elvi/repology | |
download | elvi-impersonators-107d068ea14529fdec7d9c0183fb094dd39952a1.tar.gz |
initial commit
Diffstat (limited to 'elvi/repology')
-rwxr-xr-x | elvi/repology | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/elvi/repology b/elvi/repology new file mode 100755 index 0000000..7e78c26 --- /dev/null +++ b/elvi/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" |