HELP - display help information, including Training, Users Guide, and JavaDocs
**** This version uses a Java search and does not rely on the lucene.jar *****
It is under development, so feedback and problem reports are very appreciated

<name>          Name of help item
<opt>           Option tree containing help item

The Help command provides a single point of reference for all help information
within NeXtMidas. It uses as its source files the help (.hlp), explain (.exp),
and source (.java) files distributed with an option tree.

When run without the /BUILD, /INDEX, or /GUI switches, the command will attempt
to find the closest match to the given name under the given option tree.  If
no option tree is specified then all option trees are searched in the order
they appear in the ENV.OPT path.  If only one match is found, it is displayed
without prompting.  If more than one match is found, a list is presented with
an option to view a specific match, cycle through all, or quit altogether.

The /GUI switch will bring up a Swing based search GUI that provides
hyperlinked help pages.  Use of this option will bypass the name and opt
flags, showing all of the help for all of the currently configured option
trees.

==========================
 Help search/query syntax
==========================
  Terms
  =====
  A query is broken up into terms and operators. There are two types of terms:
  Single Terms and Phrases.

  A Single Term is a single word ex: plot
    - While typing the word plot the search is considered starts with
    - When a space is added after the word plot or the search is "plot" an
      exact word match is used
  A Phrase is a group of words surrounded by double quotes such as "plot apenny".

  Multiple terms can be combined together with Boolean operators to form a more
  complex query (see below).

  RESTRICTED Words that should not be used as words in your search:
  A,AN,AND,ARE,AS,AT,BE,BUT,BY,FOR,IF,IN,INTO,IS,IT,NO,NOT,OF,ON,OR,SUCH,THAT,
  THE,THEIR,THEN,THERE,THESE,THEY,THIS,TO,WAS,WILL,WITH
  Also, though powers of 2 up to 8192 are valid search words and Midas BLUE
  file types (1000,1999,2000,3000,4000,5000,5010,6000) are valid search words,
  integers in general should be avoided as search words

  Wildcard Searches
  =================
  To perform a single character wildcard search use the "?" symbol.
  To perform a multiple character wildcard search use the "*" symbol.

  The single character wildcard search looks for terms that match that with the
  single character replaced. For example, to search for text or test you
  can use the search: te?t

  Multiple character wildcard searches looks for 0 or more characters. For
  example, to search for test, tests or tester, you can use the search: test*

  You can also use the wildcard searches in the beginning or middle of a term:
  te*t or ?est

  Boolean Operators
  =================
  Boolean operators allow terms to be combined through logic operators. Help
  supports AND, "+", OR, NOT and "-" as Boolean operators (Note: Boolean
  operators must be ALL CAPS).

  The AND operator is the default conjunction operator. This means that if
  there is no Boolean operator between two terms, the AND operator is used.

    AND (&&) Operator
    =================
    The AND operator matches documents where both terms exist anywhere in the
    text of a single document. This is equivalent to an intersection using
    sets. The symbol && can be used in place of the word AND.

    To search for documents that contain "Remote Midas" and RMIF:
    "Remote Midas" RMIF

    OR (||) Operator
    ================
    The OR operator links two terms and finds a matching document if either of
    the terms exist in a document. This is equivalent to a union using sets.
    The symbol || can be used in place of the word OR.

    To search for documents that contain "Remote Midas" or RMIF:
    "Remote Midas" OR RMIF

    To search for documents that must contain "rdp" and may contain "rmif" use
    the query: "+rdp OR rmif"

    AND NOT (&&!) ANDNOT Operator
    ============
    The NOT operator excludes documents that contain the term after NOT. A
    plan NOT search is not allowed, but only and ANDNOT: plot ANDNOT panel

    - Operator
    ==========
    The "-" or prohibit operator excludes documents that contain the term after
    the "-" symbol.

  Grouping
  ========
  Help search supports using parentheses to group clauses to form sub queries.
  This can be very useful if you want to control the boolean logic for a query.

  To search for either rmif or network and server use the query:
  (rmif OR network) AND server


The /BUILD switch is used to create all of the supporting files for the legacy
command line based help and search. If a mainhelp.cnf file is found in the hlp
subdirectory of an option tree, this and the .hlp files it references are used
to create the mainhelp.hlp search index.  If not found, the mainhelp.hlp is
assumed to have been created by hand. If neither is found, a default
mainhelp.cnf is assumed. The files for all option trees are placed in
NMROOT/htdocs/help and the JavaDocs are in NMROOT/htdocs/api.  To place files in
the option tree itself, use /LOCAL. If <opt>=ALL, the default, help is built for
each option in the current path.

The /INDEX switch is used to create the help index/database for HELP/GUI
(at NeXtMidas Master Help Index page at NMROOT/htdocs/index.html).
To use the help HELP/GUI index on the command-line, set the /LEGACY switch to
false.

Examples:
  1. Search help for 'confidence'
  nM> help confidence

  2. Start the NeXtMidas Search in graphical mode to search and view it results.
  nM> help/gui

  3. Use new help index to search for documents containing both 'rmif' AND
     either 'rdp' OR 'tcp'. Note: "AND" and "OR" has to be all upper case.
  nM> help/legacy=false "rmif AND (rdp OR tcp)"

Switches:
  /BUILD       Build the supporting files from existing hlp,exp, and java files
  /CLEAN       Remove all of the generated files for an option tree (or all
               option trees). Not implemented yet.
  /DEBUG       Turn on debugging
  /FILTER      Optional override of the filename filter of files to index when
               used with the /INDEX switch. Since NeXtMidas 2.5.0.
  /GUI         Run the graphical NeXtMidas help with search capabilities.
  /HOMEPAGE    Address of homepage link for this option
  /INDEX       Build help index for searches on the HELP/GUI, HELP/LEGACY=false,
               and $NMROOT/htdocs/search.html Since NeXtMidas 2.5.0.
  /JAVADOC=0   Deprecated since NeXtMidas 2.5.0: this is no longer supported.
  /LEGACY=true Legacy text mode search functionality prior to NeXtMidas 2.5.0.
               Set this to false to use the new search syntax in the terminal.
               In the new text search mode, the OPT= parameter is ignored and
               the NAME= parameter is used as the search term. Multiple
               terms must be quoted.
  /LOCAL       Place help files in OPTxxx/docs/* instead of NMROOT/htdocs/*.
  /MOREDIRS    '|' separated list of additional directories to include in the
               list of locations (specified in build.props) to index documents
               when used with the /INDEX switch. Since NeXtMidas 2.5.4.
  /SHOWPATH    Show path to files for query results from $NMROOT.
               Since NeXtMidas 2.5.0, this applies to the command-line search
               when /LEGACY=false.                                   [DEF=FALSE]
  /SWMIN       Minimum length of search term before query treats it as
               startsWith those characters [DEFAULT=5]

SEE ALSO:  EXPLAIN, MENU, $NMROOT/htdocs/search.html, nxm.sys.libg.MJHelp
