#!/bin/sh
#
# AUTHOR: Leonardo Taccari
#
# DATE:	Mon Oct 23 21:00:04 CEST 2017
#
# DESC: Elvi to search the man-k.org man pages
# elvis: mank		-- Search man-k.org for Unix man pages
. surfraw || exit 1

w3_config_hook() {
defyn   SURFRAW_mank_freebsd    no
defyn   SURFRAW_mank_netbsd     no
defyn   SURFRAW_mank_openbsd    no
}

w3_usage_hook () {
    cat <<EOF
Usage: $w3_argv0 [options] [search-string | man]...
Description:
  Search Unix man pages via man-k.org
Local options:
  -freebsd[=(yes|no)]		Search for FreeBSD man pages
				Default: $SURFRAW_mank_freebsd
				Environment: SURFRAW_mank_freebsd
  -netbsd[=(yes|no)]		Search for NetBSD man pages
				Default: $SURFRAW_mank_netbsd
				Environment: SURFRAW_mank_netbsd
  -openbsd[=(yes|no)]		Search for OpenBSD man pages
				Default: $SURFRAW_mank_openbsd
				Environment: SURFRAW_mank_openbsd
Examples:
  $w3_argv0			Go to man-k.org website
  $w3_argv0 list files		Search for man pages regarding list files
  $w3_argv0 -freebsd man(1)	Show the FreeBSD man(1) page
  $w3_argv0 -netbsd man(1)	Show the NetBSD man(1) page
  $w3_argv0 -openbsd man(1)	Show the OpenBSD man(1) page
EOF
    w3_global_usage
}

w3_parse_option_hook () {
    opt="$1"
    optarg="$2"
    case "$opt" in
        -freebsd)    setoptyn    SURFRAW_mank_freebsd    yes     ;;
	-freebsd=)   setoptyn    SURFRAW_mank_freebsd    $optarg ;;
        -netbsd)     setoptyn    SURFRAW_mank_netbsd     yes     ;;
	-netbsd=)    setoptyn    SURFRAW_mank_netbsd     $optarg ;;
        -openbsd)    setoptyn    SURFRAW_mank_openbsd    yes     ;;
	-openbsd=)   setoptyn    SURFRAW_mank_openbsd    $optarg ;;
	*) return 1 ;;
    esac
    return 0
}

w3_config
w3_parse_args "$@"
# w3_args now contains a list of arguments
test -z "$w3_args" || escaped_args=`w3_url_of_arg $w3_args`

if ok SURFRAW_mank_freebsd; then
    if test -z "$escaped_args"; then
        w3_browse_url "http://man-k.org/"
    else
        w3_browse_url "http://man-k.org/f/${escaped_args}"
    fi
    exit $?
fi
if ok SURFRAW_mank_netbsd; then
    if test -z "$escaped_args"; then
        w3_browse_url "http://man-k.org/"
    else
        w3_browse_url "http://man-k.org/n/${escaped_args}"
    fi
    exit $?
fi
if ok SURFRAW_mank_openbsd; then
    if test -z "$escaped_args"; then
        w3_browse_url "http://man-k.org/"
    else
        w3_browse_url "http://man-k.org/o/${escaped_args}"
    fi
    exit $?
fi
if test -z "$escaped_args"; then
    w3_browse_url "http://man-k.org/"
else
    escaped_args=`w3_url_of_arg $w3_args`
    w3_browse_url "http://man-k.org/search?q=${escaped_args}"
fi
exit $?
