wsh/
wsh/binsrc/
wsh/docs/help/
wsh/docs/old/
wsh/etc/
wsh/src/util/


          CTAGS                                                       CTAGS




          NAME
               ctags - Generates "tags" and (optionally) "refs" files

          SYNOPSIS
               ctags [-stvra] filesnames...

          DESCRIPTION
               ctags generates the "tags"  and "refs" files from a group of
               C source  files.  The "tags"  file is used  by Elvis' ":tag"
               command, control-] command,  and -t option.  The "refs" file
               is sometimes used by the ref(1) program.

               Each  C source  file is scanned  for #define  statements and
               global  function  definitions.  The  name  of  the macro  or
               function becomes the name of a tag.  For each tag, a line is
               added to the "tags" file which contains:
                           - the name of the tag
                           - a tab character
                           - the name of the file containing the tag
                           - a tab character
                           - a way to find the particular line within the file.

               The  filenames list  will typically  be the  names of  all C
               source files in the current directory, like this:
                    $ ctags -stv *.[ch]

          OPTIONS
               -t   Include  typedefs.  A  tag will  be generated  for each
                    user-defined  type.  Also  tags will  be  generated for
                    struct  and enum  names.   Types are  considered to  be
                    global if they are defined in a header file, and static
                    if they are defined in a C source file.

               -v   Include variable declarations.  A tag will be generated
                    for each  variable, except for those  that are declared
                    inside the body of a function.

               -s   Include  static tags.  Ctags  will normally  put global
                    tags in the "tags" file, and silently ignore the static
                    tags.  This flag  causes both global and static tags to
                    be added.   The name  of a  static tag is  generated by
                    prefixing the  name of the declared  item with the name
                    of  the  file where  it  is defined,  with  a colon  in
                    between.   For  example,  "static foo(){}"  in  "bar.c"
                    results in a tag named "bar.c:foo".

               -r   This causes  ctags to generate both  "tags" and "refs".
                    Without -r, it would only generate "tags".

               -a   Append  to "tags", and  maybe "refs".   Normally, ctags
                    overwrites these  files each time it  is invoked.  This
                    flag  is useful  when  you have  to many  files in  the
                    current  directory for  you to  list  them on  a single


          Command Reference               1                          Page 1





          CTAGS                                                       CTAGS



                    command-line;  it  allows you  to  split the  arguments
                    among several invocations.

          FILES
               tags A cross-reference that lists each tag name, the name of
                    the source file that contains it, and a way to locate a
                    particular line in the source file.

               refs The "refs"  file contains the definitions  for each tag
                    in the  "tags" file, and  very little else.   This file
                    can be useful, for example, when licensing restrictions
                    prevent you from making the source code to the standard
                    C  library   readable  by  everybody,   but  you  still
                    everybody to know  what arguments the library functions
                    need.

          BUGS
               ctags   is   sensitive  to   indenting   and  line   breaks.
               Consequently, it  might not  discover all  of the tags  in a
               file that is formatted in an unusual way.

          SEE ALSO
               elvis(1), refs(1)

          AUTHOR
               Steve Kirkendall
               kirkenda@cs.pdx.edu





























          Command Reference               1                          Page 2