logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

htags - generate a hypertext from a set of source files

Author

       Shigio YAMAGUCHI, Hideki IWAMOTO and others.

Bug

       Generated hypertext is VERY LARGE.  In advance, check the space of your disk.

       PHP support is far from complete.

       The  -f  and -D options generate CGI programs.  If you open the hypertext to the public, please recognize
       security dangers.

       Htags does not support plug-in parser.

Configuration

       The following configuration variables affect the execution of htags:

       datadir(string)
              Shared  data  directory.  The  default  is  ´/usr/local/share´  but you can change the value using
              configure script.  Htags looks up template files in the ´gtags´ directory in this data directory.

       include_file_suffixes(comma separated list)
              Suffixes of include files. The default is:
              ´h,hh,hxx,hpp,H,inc.php´.

       langmap(comma separated list)
              Language mapping. Each comma-separated map consists of the language name, a colon, and a  list  of
              file extensions.  Default mapping is:
              ´c:.c.h,yacc:.y,asm:.s.S,java:.java,cpp:.c++.cc.hh.cpp.cxx.hxx.hpp.C.H,php:.php.php3.phtml´.

Description

Htags generates a hypertext from a set of source files of C, Yacc, Java, PHP and assembly.

       In  advance of using this command, you should execute gtags(1) in the root directory of a source project.
       Then you can execute htags in the same place.  Htags makes a directory named ´HTML´, and puts a hypertext
       in it.  You can start browsing at ´HTML/index.html´.

       Since htags generates a static hypertext as long as neither -D nor -f option is not  specified,  you  can
       move  it  anywhere  and browse it by any browser without any HTTP server. If you use -D or -f option, you
       need to use HTTP server. Though any HTTP server is available, htags-server(1) is recommended.

       This command has so many options.  If you are new to htags, it is recommended to  use  --suggest  option.
       With that option, htags chooses popular options on your behalf.

Diagnostics

Htags exits with a non-0 value if an error occurred, 0 otherwise.

Environment

       The following environment variables affect the execution of htags:

       GTAGSCACHE
              The size of the B-tree cache. The default is 50000000 (bytes).

       GTAGSCONF
              Configuration file.

       GTAGSLABEL
              Configuration label. The default is ´default´.

       HTAGS_OPTIONS
              The value of this variable is inserted in the head of arguments.

       TMPDIR The location used to stored temporary files. The default is ´/tmp´.

       GTAGSFORCECPP
              If this variable is set, each file whose suffix is ´.h´ is treated as a C++ source file.

Examples

       $ gtags -v
       $ htags -sanohITvt 'Welcome to XXX source tour!'
       $ firefox HTML/index.html

       $ htags --suggest2
       $ htags-server >& log &
       $ firefox http://127.0.0.1:8000

Files

       ´GTAGS´
              Tag file for definitions.

       ´GRTAGS´
              Tag file for references.

       ´GPATH´
              Tag file for source files.

       ´gtags.conf´, ´$HOME/.globalrc´
              Configuration data for GNU Global.  See gtags.conf(5).

       ´HTML/FILEMAP´
              Mapping file for converting file name into the path of the file.

       ´HTML/GTAGSROOT´
              If  this file exists, CGI program ´global.cgi´ sets environment variable GTAGSROOT to the contents
              of it.  If you move directory ´HTML´ from the original place, please make this file.

       ´HTML/.htaccess´
              Local configuration file for Apache. This file  is  generated  when  the  -f  or  -D  options  are
              specified.

       ´HTML/index.html´
              Start-up file.

       ´HTML/MAP´
              Mapping file for converting tag name into the path of tag list.

       ´HTML/style.css´
              Style sheet file.

       ´/usr/local/share/gtags/style.css.tmpl´
              The template of the style sheet file (´HTML/style.css´).

History

       The htags command appeared in FreeBSD 2.2.2.

GNU Project                                         June 2013                                           HTAGS(1)

Name

       htags - generate a hypertext from a set of source files

Options

       The following options are available:

       -a, --alphabet
              Make an alphabetical index suitable for a large project.

       --auto-completion[=limit]
              Enable  auto-completion  facility for the input form.  If limit is specified, number of candidates
              is limited to the value.  Please note this function requires javascript language in your browser.

       -C, --directorydir
              Change the directory before doing all the work including parameter analysis.

       --caution
              Display a caution message on the top page.

       --cflowcflowfile
              Add a call tree by cflow(1). cflowfile must be posix format.  If you use  GNU  cflow,  invoke  the
              command  at the project root directory with the --format=posix option.  This option is deprecated;
              please use --call-tree or --callee-tree instead.

       --call-treecallfile
              Add a call tree by cflow(1); callfile must be posix format.  If you  use  GNU  cflow,  invoke  the
              command at the project root directory with the --format=posix option.

       --callee-treecalleefile
              Add  a callee tree by cflow(1); calleefile must be posix format.  If you use GNU cflow, invoke the
              command at the project root directory with the --format=posix and --reverse options.

       --colorize-warned-line
              Use color to highlight warned lines.

       --cvsweburl
              Add a link to cvsweb; url is used as the base of URL.  When directory ´CVS´  exists  in  the  root
              directory  of  the  project, the content of ´CVS/Repository´ is used as the relative path from the
              base.

       --cvsweb-cvsrootcvsroot
              Specify cvsroot in cvsweb URL.

       -D, --dynamic
              Generate a tag list dynamically using CGI program.  Though this option decreases both the size and
              generation time of hypertext, you need to start up HTTP server.

       -d, --dbpathdbpath
              Specify the directory in which ´GTAGS´ exists.  The default is the current directory.

       --disable-grep
              Disable grep in the search form (-f, --form).

       --disable-idutils
              Disable idutils in the search form (-f, --form).

       -F, --frame
              Use frames for the top page.

       -f, --form
              Add a search form using CGI program.  You need to start a HTTP server for it.

       --fixed-guide
              Put a fixed guide at the bottom of the screen of the browser.

       --full-path
              Use full path name in the file index.  By default, use just the last component of a path.

       -g, --gtags
              Execute gtags(1) before starting job.  The -v, -w and dbpath options are passed to gtags.

       --gtagsconffile
              Set environment variable GTAGSCONF to file.

       --gtagslabellabel
              Set environment variable GTAGSLABEL to label.

       -h, --func-header[=position]
              Insert a function header for each function.  By default, htags doesn't  generate  them.   You  can
              choose the position using position, which allows one of ´before´, ´right´ or ´after´ (default).

       --help Print a usage message.

       --html-headerfile
              Insert a header record derived from file into the HTML header of each file.

       -I, --icon
              Use icons instead of text for some links.

       --insert-footerfile
              Insert custom footer derived from file before </body> tag.

       --insert-headerfile
              Insert custom header derived from file after <body> tag.

       --item-orderspec
              Specify  the order of the items in the top page.  The spec is a string consisting of item signs in
              order.  Each sign means as follows: ´c´: caution; ´s´: search form; ´m´: mains; ´d´:  definitions;
              ´f´: files; ´t´: call tree.  The default is ´csmdf´.

       -m, --main-funcname
              Specify startup function name; the default is ´main´.

       --map-file
              Generate file ´MAP´.

       -n, --line-number[=columns]
              Print line numbers. By default, don't print line numbers.  The default value of columns is 4.

       --no-order-list
              Numbers are not given in list form.

       -o, --other
              Pick up not only source files but also other files for the file index.

       -s, --symbol
              Make anchors not only for definitions and references but also other symbols.

       --show-position
              Print  the  position  string  per  function  definition.  The string can be interpreted by general
              editors in UNIX. The default is false.

       --statistics
              Print statistics information.

       --suggestHtags chooses popular options on behalf of beginners.  It is  equivalent  to  -aghInosTxv--show-position--fixed-guide now.

       --suggest2Htags  chooses  popular  options  on behalf of beginners.  This option enables frame, AJAX and CGI
              facility in addition to the facilities by the --suggest option.  It  is  equivalent  to  --suggest-DfF--auto-completion--tree-view=filetree now.

       -T, --table-flist[=rows]
              Use  <table>  tag  to  display the file index.  You can optionally specify the number of rows; the
              default is 5.

       -t, --titletitle
              Title of the hypertext.  The default is the last component of the path of the current directory.

       --tabscols
              Tab stops. The default is 8.

       --table-list
              Use <table> tag to display the tag list.

       --tree-view[=type]
              Use treeview for the file index.  Please note this function requires javascript language  in  your
              browser.   Possible  values  of  type  are as follows: treeview, filetree, treeview-red, treeview-black, treeview-gray, treeview-famfamfam. The default is treeview.

       -v, --verbose
              Verbose mode.

       --version
              Show version number.

       -w, --warning
              Print warning messages.

       dir    The directory in which the result  of  this  command  is  stored.   The  default  is  the  current
              directory.

See Also

htags-server(1), global(1), gtags(1), gtags.conf(5).

       GNU Global source code tag system
       (http://www.gnu.org/software/global/).

Synopsis

htags [-aDfFghInosTvw][-d dbpath][-m name][-t title][dir]

See Also