[Surfraw-commits] [surfraw] 02/02: Replaced phpdoc with version posted back in 2011 by Jon Yamokoski <jon at jonyamo.net>. Thanks, and apologies for missing it!

Ian Beckwith ianb at alioth.debian.org
Sun Oct 6 15:42:59 UTC 2013


This is an automated email from the git hooks/post-receive script.

ianb pushed a commit to branch 2.2.9_release_candidate
in repository surfraw.

commit dd8fa68e80d54a78887a80df955d0f730c0ab4b8
Author: Ian Beckwith <ianb at erislabs.net>
Date:   Sun Oct 6 16:42:50 2013 +0100

    Replaced phpdoc with version posted back in 2011 by Jon Yamokoski <jon at jonyamo.net>. Thanks, and apologies for missing it!
---
 AUTHORS          |    4 +-
 ChangeLog        |    6 +++
 NEWS             |    2 +-
 README           |    2 +-
 elvi/phpdoc      |  126 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 test/phpdoc.test |    2 +-
 6 files changed, 127 insertions(+), 15 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index d590362..d59b744 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -16,7 +16,7 @@ Ian Beckwith <ianb at erislabs.net>
               finkpkg, rpmsearch, macports, debpkghome, debvcsbrowse,
               scroogle, scirus, scitopia, worldwidescience,
               debcodesearch, jquery, mdn, mysqldoc, pgdoc,
-              phpdoc, oraclesearch, S
+              oraclesearch, S
         plus various tweaks/bugfixes/features.
 
 Moritz Muehlenhoff <jmm at inutil.org>
@@ -138,6 +138,8 @@ Shain Singh <shain.singh at gmail.com>
 Manolo Martínez <manolo at austrohungaro.com>
         examples: elinks integration (hooks.lua)
 
+Jon Yamokoski <jon at jonyamo.net>
+        elvi: phpdoc
 
 THANKS TO
 
diff --git a/ChangeLog b/ChangeLog
index af4f8c6..70d65ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-10-06  Ian Beckwith  <ianb at erislabs.net>
+
+	* Replaced phpdoc with version posted back in
+	  2011 by Jon Yamokoski <jon at jonyamo.net>
+	  Thanks, and apologies for missing it!
+
 2013-10-05  Ian Beckwith  <ianb at erislabs.net>
 
 	* ask, cisco: fix elvi.
diff --git a/NEWS b/NEWS
index b897e6b..98aa9ed 100644
--- a/NEWS
+++ b/NEWS
@@ -46,7 +46,7 @@ Sun Oct  6 02:17:09 BST 2013  - surfraw 2.2.9
           + elvi that use a search engine as a backend with site: and inurl:
             can now choose which search engine to use.
             So far, google and duckduckgo are supported, with duckduckgo the default.
-          + Affected elvi: mdn, mysqldoc, netbsd, openbsd, pgdoc, phpdoc, slinuxdoc
+          + Affected elvi: mdn, mysqldoc, netbsd, openbsd, pgdoc, slinuxdoc
           + To select on the commandline use -custom-search=google or-custom-search=duckduckgo
           + Or configure SURFRAW_customsearch_provider
         * New variable: SURFRAW_bookmark_search_elvis
diff --git a/README b/README
index ffd046e..2102a29 100644
--- a/README
+++ b/README
@@ -132,7 +132,7 @@ The default is to use duckduckgo.
 
 Currently affected elvi:
 
-mdn mysqldoc netbsd openbsd pgdoc phpdoc slinuxdoc
+mdn mysqldoc netbsd openbsd pgdoc slinuxdoc
 
 INSTALLATION
 
diff --git a/elvi/phpdoc b/elvi/phpdoc
old mode 100755
new mode 100644
index ced083b..a21eba8
--- a/elvi/phpdoc
+++ b/elvi/phpdoc
@@ -1,25 +1,129 @@
 #!/bin/sh
-# ianb at erislabs.net 20130923
-# elvis: phpdoc		-- Search php documentation (php.net)
+# elvis: phpdoc    -- Search PHP documentation (php.net)
+# Author: http://jonyamo.net
+
 . surfraw || exit 1
 
+w3_config_hook () {
+    def   SURFRAW_php_language "$SURFRAW_lang"
+    def   SURFRAW_php_search   "functions"
+}
+
 w3_usage_hook () {
     cat <<EOF
-Usage: $w3_argv0 [search words]...
+Usage: $w3_argv0 [options] [search-string]
 Description:
-  Surfraw search php documentation (php.net)
+    Surfraw search PHP documentation (php.net)
+
+Local options:
+    -l, -language=        Two letter language code (resembles ISO country codes)
+        en           |    English (default)
+        pt           |    Brazilian Portuguese
+        zh           |    Chinese (Simplified)
+        fr           |    French
+        de           |    German
+        ja           |    Japanese
+        pl           |    Polish
+        ro           |    Romanian
+        fa           |    Persian
+        es           |    Spanish
+        tr           |    Turkish
+                          Environment: SURFRAW_php_language, SURFRAW_lang
+                          Default: en
+
+    -s, -search=          Specialized search on topic
+        all          |    All php.net sites
+        functions    |    Function search
+        manual       |    Online documentation
+        bugs         |    Bug database
+        news         |    News archive
+        changelogs   |    Changelogs
+        pear         |    Just pear.php.net
+        pecl         |    Just pecl.php.net
+        talks        |    Just talks.php.net
+        maillist     |    General mailing list
+        devlist      |    Developer mailing list
+        phpdoc       |    Documentation mailing list
+                          Environment: SURFRAW_php_search
+                          Default: functions
+
+    -a, -all              alias of -search=all
+    -f, -functions        alias of -search=functions
+    -m, -manual           alias of -search=manual
+    -b, -bugs             alias of -search=bugs
+    -n, -news             alias of -search=news
+    -c, -changelogs       alias of -search=changelogs
+    -t, -talks            alias of -search=talks
+    -maillist             alias of -search=maillist
+    -devlist              alias of -search=devlist
+    -phpdoc               alias of -search=phpdoc
 EOF
-    w3_custom_search_usage
     w3_global_usage
 }
 
+w3_parse_option_hook () {
+    opt="$1"
+    optarg="$2"
+    case "$opt" in
+        -language=*)    setopt SURFRAW_php_language  "$optarg"    ;;
+        -l=*)           setopt SURFRAW_php_language  "$optarg"    ;;
+        -search=*)      setopt SURFRAW_php_search    "$optarg"    ;;
+        -s=*)           setopt SURFRAW_php_search    "$optarg"    ;;
+        -a|-all)        setopt SURFRAW_php_search    "all"        ;;
+        -f|-functions)  setopt SURFRAW_php_search    "functions"  ;;
+        -m|-manual)     setopt SURFRAW_php_search    "manual"     ;;
+        -b|-bugs)       setopt SURFRAW_php_search    "bugs"       ;;
+        -n|-news)       setopt SURFRAW_php_search    "news"       ;;
+        -c|-changelogs) setopt SURFRAW_php_search    "changelogs" ;;
+        -t|-talks)      setopt SURFRAW_php_search    "talks"      ;;
+        -maillist)      setopt SURFRAW_php_search    "maillist"   ;;
+        -devlist)       setopt SURFRAW_php_search    "devlist"    ;;
+        -phpdoc)        setopt SURFRAW_php_search    "phpdoc"     ;;
+        *)              return 1 ;;
+    esac
+    return 0
+}
+
 w3_config
 w3_parse_args "$@"
-if test -z "$w3_args"
-then
-    w3_browse_url "http://www.php.net/docs.php"
-else
-    w3_custom_search -s=php.net "$w3_shquoted_args"
-fi
+# w3_args now contains a list of arguments
+
+url="http://php.net/"
 
+case "$SURFRAW_php_language" in
+    en) lang="en"    ;;
+    pt) lang="pt_BR" ;;
+    zh) lang="zh"    ;;
+    fr) lang="fr"    ;;
+    de) lang="de"    ;;
+    ja) lang="ja"    ;;
+    pl) lang="pl"    ;;
+    ro) lang="ro"    ;;
+    fa) lang="fa"    ;;
+    es) lang="es"    ;;
+    tr) lang="tr"    ;;
+     *) lang="en"    ;;
+esac
+
+case "$SURFRAW_php_search" in
+    all)          search="all"           ;;
+    functions)    search="quickref"      ;;
+    manual)       search="manual"        ;;
+    bugs)         search="bugdb"         ;;
+    news)         search="news_archive"  ;;
+    changelogs)   search="changelogs"    ;;
+    pear)         search="pear"          ;;
+    pecl)         search="pecl"          ;;
+    talks)        search="talks"         ;;
+    maillist)     search="maillist"      ;;
+    devlist)      search="devlist"       ;;
+    phpdoc)       search="phpdoc"        ;;
+    *)            search="functions"     ;;
+esac
+
+if [ -n "$w3_args" ]; then
+    escaped_args=$(w3_url_of_arg $w3_args)
+    url="${url}search.php?lang=${lang}&show=${search}&pattern=${escaped_args}"
+fi
 
+w3_browse_url "$url"
diff --git a/test/phpdoc.test b/test/phpdoc.test
index 5eaafd7..6ff848d 100644
--- a/test/phpdoc.test
+++ b/test/phpdoc.test
@@ -1,2 +1,2 @@
-SURFRAW_customsearch_provider=duckduckgo phpdoc array_merge
+phpdoc array_merge
 Merges the elements

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/surfraw/surfraw.git



More information about the Surfraw-commits mailing list