unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



ctags(1)							     ctags(1)



NAME

  ctags	- Makes	a tags file for	source file objects.

SYNOPSIS

  ctags	[-aBdFtuvw] [-f	tags_file] pathname...

  ctags	-x  pathname...

STANDARDS

  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  ctags:  SVID 3, XCU5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

OPTIONS

  The following	options	conform	to both	the XCU5.0 and SVID 3 standards:

  -a  Adds items to the	tags file. This	option can be very slow	for large
      tags files.

  -f tags_file
      Creates a	tags file with the name	specified by tags_file.

  -x  Causes ctags to display a	list of	object names as	well as	the line
      number and file name on which each is defined and	the text of that
      line.  This provides a simple index, which can be	printed	out as an off
      line readable function index. If you specify this	flag, ctags does not
      build a tags file, but writes to standard	output.

  The following	options	either conform to SVID 3  or are proprietary:

  -B  [SVID3] Uses backward searching pattern (?...?).

  -d  [Tru64 UNIX]  Creates tags for #define directives	that do	not take
      arguments.  #define directives that take arguments are tagged automati-
      cally. (The "#" and "define" may be separated by a space or tab.)

  -F  [SVID3]  Uses forward searching pattern (/.../) (default).

  -t  [SVID3]  Creates tags for	type definitions (typedef), and	for struct,
      union, and enum declarations.

  -u  [SVID3]  Updates the specified files in tags; that is, all references
      to them are deleted and the new values are added to the file. The	tags
      file is sorted. This flag	may be slow, so	it is usually faster to	sim-
      ply rebuild the tags file.

  -v  [Tru64 UNIX]  Produces an	index of the form expected by vgrind on	the
      standard output.	This listing contains the function name, file name,
      and page number (assuming	64-line	pages).	Because	the output will	be
      sorted according to the current collating	sequence as defined by the
      value of the LC_COLLATE environment variable, it may be desirable	to
      run the output through sort -f.  Sample use:
	   ctags -v files | sort -f >> index
	   vgrind -x index

  -w  [SVID3]  Suppresses warning diagnostics.

DESCRIPTION

  The ctags command makes a tags file for ex and vi editors from the speci-
  fied C, Pascal, FORTRAN, yacc, lex, and LISP source files. A tags file
  gives	the locations of specified objects (in this case functions and type
  definitions) 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 specification for the object definition. Func-
  tions	are searched with a pattern and	type definitions are searched with a
  line number. Specifiers are given in separate	fields on the line, separated
  by spaces or tabs.  Using the	tags file, ex and vi can quickly find these
  object definitions.

  The following	pathname operands conform with both the	XCU5.0 and SVID	3
  standards:

  file.c
      Files with base names ending with	the .c suffix are treated as
      C	language source	code.

  file.h
      Files with base names ending with	the .h suffix are treated as
      C	language source	code.

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

  The following	options	either conform to SVID 3  or are proprietary:

  file.y
      Files with base names ending with	the .y suffix are treated as yacc
      source files.

  file.l
      [Tru64 UNIX]  Files with base names ending in .l are assumed to be LISP
      files if their first nonspace character is ; (semicolon),	( (open
      parenthesis), or [ (open bracket). Otherwise, the	files ending in	.l
      are assumed to be	lex files.

      [SVID3]  Files with base names ending in .l are assumed to be lex
      files.

  [SVID3]  Other files are first examined to see if they contain any Pascal
  or FORTRAN routine definitions; if not, they are processed again for C
  definitions.

  The tag main is treated specially in C programs.  The	tag formed is created
  by prefixing M to the	file name, removing a trailing .c (if any), and
  removing the leading path name components.  This makes the use of ctags
  practical in directories with	more than one program.



RESTRICTIONS

  [SVID3]  Recognition of functions, subroutines, and procedures for FORTRAN
  and Pascal does not deal with	block structure.  Therefore, you cannot	have
  two Pascal procedures	in different blocks with the same name.

  The ctags command does not know about	ifdefs.

ENVIRONMENT VARIABLES

  The following	environment variables affect the behavior of ctags():

  LANG
      Provides a default value for the locale category variables that are not
      set or null.

  LC_ALL
      If set, overrides	the values of all other	locale variables.

  LC_COLLATE
      Determines the order in which output is sorted for the -x	option.

  LC_CTYPE
      Determines the locale for	the interpretation of byte sequences as	char-
      acters (single-byte or multibyte)	in input parameters and	files.

  LC_MESSAGES
      Determines the locale used to affect the format and contents of diag-
      nostic messages displayed	by the command.

  NLSPATH
      Determines the location of message catalogs for the processing of
      LC_MESSAGES.

FILES

  tags
      Default tags file.  Use the -f flag to specify another file name.

SEE ALSO

  Commands:  ex(1), lex(1), sort(1) vi(1), yacc(1)

  Standards:  standards(5)