Unix‎ > ‎Solaris‎ > ‎Solaris man pages‎ > ‎1‎ > ‎

ctags


NAME
     ctags - create a tags file for use with ex and vi

SYNOPSIS
     /usr/bin/ctags [-aBFtuvwx] [-f tagsfile] file...

     /usr/xpg4/bin/ctags [-aBFuvwx] [-f tagsfile] file...

DESCRIPTION
     The ctags utility makes a  tags  file  for  ex(1)  from  the
     specified  C,  C++,  Pascal,  FORTRAN,  yacc(1), and  lex(1)
     sources. A  tags  file  gives  the  locations  of  specified
     objects  (in this case functions and typedefs) in a group of
     files.  Each line of the tags file contains the object name,
     the  file  in which it is defined, and an address specifica-
     tion for the object definition. Functions are searched  with
     a pattern, typedefs with a line number. Specifiers are given
     in separate fields on the  line,  separated  by  <SPACE>  or
     <TAB>  characters.  Using the tags file, ex can quickly find
     these objects' definitions.

     Normally,  ctags places  the  tag  descriptions  in  a  file
     called tags; this may be overridden with the -f option.

     Files with names ending in  .c  or  .h  are  assumed  to  be
     either  C  or  C++  source  files and are searched for C/C++
     routine and macro definitions. Files with  names  ending  in
     .cc, .C, or  .cxx, are assumed to be C++ source files. Files
     with names ending in .y  are  assumed  to  be   yacc  source
     files.  Files with names ending in .l are assumed to be  lex
     files.  Others are first examined to see if they contain any
     Pascal or FORTRAN routine definitions; if not, they are pro-
     cessed again looking for C  definitions.

     The tag main is treated specially in C or C++ programs.  The
     tag formed is created by prepending M to file, with a trail-
     ing  .c , .cc .C, or .cxx removed, if any, and leading  path
     name  components  also  removed.    This  makes use of ctags
     practical in directories with more than one program.

OPTIONS
     The precedence of the options that pertain  to  printing  is
     -x,  -v,  then  the remaining options. The following options
     are supported:

     -a              Appends output to an existing tags file.



     -B              Uses backward searching patterns (?...?).


     -f tagsfile     Places the tag descriptions in a file called
                     tagsfile instead of tags.



     -F              Uses  forward  searching  patterns   (/.../)
                     (default).



     -t              Creates       tags       for       typedefs.
                     /usr/xpg4/bin/ctags    creates    tags   for
                     typedefs by default.



     -u              Updates the specified files  in  tags,  that
                     is,  all references to them are deleted, and
                     the new values are  appended  to  the  file.
                     Beware:  this option is implemented in a way
                     that is rather slow; it is usually faster to
                     simply rebuild the tags file.



     -v              Produces on the  standard  output  an  index
                     listing  the  function  name, file name, and
                     page number (assuming 64 line pages).  Since
                     the output will be sorted into lexicographic
                     order, it may be desired to run  the  output
                     through sort -f.



     -w              Suppresses warning diagnostics.



     -x              Produces a list of object  names,  the  line
                     number  and  file  name  on  which  each  is
                     defined, as well as the text  of  that  line
                     and prints this on the standard output. This
                     is a simple index which can be  printed  out
                     as an off-line readable function index.



OPERANDS
     The following file operands are supported:

     file.c          Files with basenames ending with the .c suf-
                     fix are treated as C-language source code.

     file.h          Files with basenames ending with the .h suf-
                     fix are treated as C-language source code.



     file.f          Files with basenames ending with the .f suf-
                     fix  are  treated as FORTRAN-language source
                     code.



USAGE
     The -v option is mainly used with vgrind which will be  part
     of the optional BSD Compatibility Package.

EXAMPLES
     Example 1: Producing entries in alphabetical order

     Using ctags with the -v option produces entries in an  order
     which  may  not always be appropriate for vgrind. To produce
     results in alphabetical order, you may want to run the  out-
     put through sort -f.

     example% ctags -v filename.c filename.h | sort -f > index
     example% vgrind -x index

     Example 2: Building a tags file

     To build a tags file for C sources in a directory  hierarchy
     rooted  at  sourcedir,  first create an empty tags file, and
     then run  find(1)

     example% cd sourcedir  ; rm -f tags ; touch tags
     example% find . \( -name SCCS -prune -name \\
            '*.c' -o -name '*.h' \) -exec ctags -u {} \;

     Notice that spaces must be entered exactly as shown.

ENVIRONMENT VARIABLES
     See environ(5) for descriptions of the following environment
     variables  that affect the execution of ctags: LANG, LC_ALL,
     LC_COLLATE, LC_CTYPE, LC_MESSAGES, and NLSPATH.

EXIT STATUS
     The following exit values are returned:

     0               Successful completion.



     >0              An error occurred.

FILES
     tags            output tags file



ATTRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

  /usr/bin/ctags
     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWtoo                     |
    |_____________________________|_____________________________|


  /usr/xpg4/bin/ctags
     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWxcu4                    |
    |_____________________________|_____________________________|
    | Interface Stability         | Standard                    |
    |_____________________________|_____________________________|


SEE ALSO
     ex(1), lex(1),  vgrind(1),  vi(1),  yacc(1),  attributes(5),
     environ(5), standards(5)

NOTES
     Recognition of functions, subroutines,  and  procedures  for
     FORTRAN  and  Pascal  is done in a very simpleminded way. No
     attempt is made to deal with block structure;  if  you  have
     two  Pascal  procedures  in  different  blocks with the same
     name, you lose.

     The method of deciding whether to look for C or  Pascal  and
     FORTRAN functions is a hack.

     The ctags utility does not know about #ifdefs.

     The ctags utility should know about Pascal types. Relies  on
     the  input  being well formed to detect typedefs. Use of -tx
     shows only the last line of typedefs.







Man pages from Solaris 10 Update 8. See docs.sun.com and www.oracle.com for further documentation and Solaris information.
Comments