👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

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

ctags(1)				  User Commands 				 ctags(1)

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

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

USAGE
       The -v option is mainly used with vgrind which will be part of the optional  BSD  Compati-
       bility 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 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.

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 attributes:

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

SunOS 5.11				   18 Mar 1997					 ctags(1)


All times are GMT -4. The time now is 02:01 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password