89 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .TH REF 1
 | |
| .SH NAME
 | |
| ref - Display a C function header
 | |
| .SH SYNOPSIS
 | |
| \fBref\fR [-t] [-c \fIclass\fR]... [-f \fIfile\fR]... \fItag\fR
 | |
| .SH DESCRIPTION
 | |
| \fIref\fP quickly locates and displays the header of a function.
 | |
| To do this, \fIref\fR
 | |
| looks in the "tags" file for the line that describes the function, and then 
 | |
| scans the source file for the function.
 | |
| When it locates the function, it displays an introductory comment
 | |
| (if there is one), the function's declaration, and the declarations of all
 | |
| arguments.
 | |
| .SH "SEARCH METHOD"
 | |
| .PP
 | |
| \fIref\fR uses a fairly sophisticated tag look-up algorithm.
 | |
| If you supply a filename via \fB-f\fR \fIfile\fR, then elvis first scans
 | |
| the tags file for a static tag from that file.
 | |
| This search is limited to the tags file in the current directory.
 | |
| .PP
 | |
| If you supply a classname via \fB-c\fR \fIclass\fR, then elvis searches
 | |
| for a tag from that class.
 | |
| This search is not limited to the current directory;
 | |
| You can supply a list of directories in the environment variable \fITAGPATH\fR,
 | |
| and \fIref\fR will search through the "tags" file in each directory until it finds
 | |
| a tag in the desired class.
 | |
| .PP
 | |
| If that fails, \fIref\fR will then try to look up an ordinary global tag.
 | |
| This search checks all of the directories listed in \fITAGPATH\fR, too.
 | |
| .PP
 | |
| If you've given the \fB-t\fR flag, then \fIref\fR will simply output the tag line that
 | |
| it found, and then exit.
 | |
| Without \fB-t\fR, though, \fIref\fR will search for the tag line.
 | |
| It will try to open the source file, which should be in the same directory
 | |
| as the tags file where the tag was discovered.
 | |
| If the source file doesn't exist, or is unreadable, then \fIref\fR will try to open
 | |
| a file called "\fIrefs\fR" in that directory.
 | |
| Either way, \fIref\fR will try to locate the tag, and display whatever it finds.
 | |
| .SH "INTERACTION WITH ELVIS"
 | |
| .PP
 | |
| \fIref\fP is used by \fIelvis\fR' shift-K command.
 | |
| If the cursor is located on a word such as "splat", in the file "foo.c",
 | |
| then \fIelvis\fR will invoke \fIref\fR with the command "ref -f foo.c splat".
 | |
| .PP
 | |
| If \fIelvis\fR has been compiled with the -DEXTERNAL_TAGS flag, then \fIelvis\fR will
 | |
| use \fIref\fR \fB\fRto scan the tags files.
 | |
| This is slower than the built-in tag searching, but it allows \fIelvis\fR to access
 | |
| the more sophisticated tag lookup provided by \fIref\fR.
 | |
| Other than that, external tags should act exactly like internal tags.
 | |
| .SH OPTIONS
 | |
| .IP \fB-t\fR
 | |
| Output tag info, instead of the function header.
 | |
| .IP "\fB-f\fR \fIfile\fR"
 | |
| The tag might be a static function in \fIfile\fR.
 | |
| You can use several -f flags to have \fIref\fR consider static tags from more than one file.
 | |
| .IP "\fB-c\fR \fIclass\fR"
 | |
| The tag might be a member of class \fIclass\fR.
 | |
| You can use several -c flags to have \fIref\fR consider tags from more than one class.
 | |
| .SH FILES
 | |
| .IP \fBtags\fR
 | |
| List of function names and their locations, generated by \fIctags\fR.
 | |
| .IP \fBrefs\fR
 | |
| Function headers extracted from source files (optional).
 | |
| .SH ENVIRONMENT
 | |
| .IP \fBTAGPATH\fR
 | |
| List of directories to be searched.
 | |
| The elements in the list are separated by either
 | |
| semicolons (for MS-DOS, Atari TOS, and AmigaDos), or
 | |
| by colons (every other operating system).
 | |
| For each operating system, \fIref\fR has a built-in default which is probably
 | |
| adequate.
 | |
| .SH NOTES
 | |
| .PP
 | |
| You might want to generate a "tags" file the directory that contains the
 | |
| source code for standard C library on your system.
 | |
| If licensing restrictions prevent you from making the library source readable
 | |
| by everybody, then you can have \fIctags\fR generate a "refs" file,
 | |
| and make "refs" readable by everybody.
 | |
| .PP
 | |
| If your system doesn't come with the library source code, then perhaps you
 | |
| can produce something workable from the \fIlint\fR libraries.
 | |
| .SH "SEE ALSO"
 | |
| elvis(1), ctags(1)
 | |
| .SH AUTHOR
 | |
| .nf
 | |
| Steve Kirkendall
 | |
| kirkenda@cs.pdx.edu
 | |
| .fi
 | 
