Unix/Linux Go Back    

OpenSolaris 2009.06 - man page for ctags (opensolaris section 1)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

ctags(1)				  User Commands 				 ctags(1)

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

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

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

       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 con-
       tains the object name, the file in which it is defined, and an address  specification  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 processed 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 trailing  .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.

       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

       -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.

       The following file operands are supported:

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

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

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

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

       Example 1 Producing entries in alphabetical order

       Using ctags with the -v option produces entries in an order which may not always be appro-
       priate 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.

       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.

       The following exit values are returned:

       0     Successful completion.

       >0    An error occurred.

       tags    output tags file

       See attributes(5) for descriptions of the following attributes:

       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       |Availability		     |SUNWtoo			   |

       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       |Availability		     |SUNWxcu4			   |
       |Interface Stability	     |Standard			   |

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

       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.

SunOS 5.11				   18 Mar 1997					 ctags(1)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 04:26 PM.