IM enhancements
[MacVim.git] / runtime / tools / shtags.1
blob314df883c7d4430a652fa6f88543e237f812d7c9
1 .TH shtags 1 "local Utilities"
2 .SH NAME
3 shtags \- Create tags for shell scripts
4 .SH SYNOPSIS
5 .B shtags
6 [\fI-mvw\fP] [\fI-t <file>\fP] [\fI-s <shell>\fP] <files>
7 .SH DESCRIPTION
8 \fBshtags\fP creates a \fBvi(1)\fP tags file for shell scripts - which
9 essentially turns your code into a hypertext document. \fBshtags\fP
10 attempts to create tags for all function and variable definitions,
11 although this is a little difficult, because in most shell languages,
12 variables don't need to be explicitly defined, and as such there is
13 often no distinct "variable definition". If this is the case,
14 \fBshtags\fP simply creates a tag for the first instance of a variable
15 which is being set in a simple way, ie: \fIset x = 5\fP.
16 .SH OPTIONS
17 .IP "\fB-t <file>\fP"
18 Name of tags file to create. (default is 'tags')
19 .IP "\fB-s <shell>\fP"
20 The name of the shell used by the script(s). By default,
21 \fBshtags\fP tries to work out which is the appropriate shell for each
22 file individually by looking at the first line of each file. This wont
23 work however, if the script starts as a bourne shell script and tries
24 to be clever about starting the shell it really wants.
26 Currently supported shells are:
27 .RS
28 .IP \fBsh\fP
29 Bourne Shell
30 .IP \fBperl\fP
31 Perl (versions 4 and 5)
32 .IP \fBksh\fP
33 Korn Shell
34 .IP \fBtclsh\fP
35 The TCL shell
36 .IP \fBwish\fP
37 The TK Windowing shell (same as tclsh)
38 .RE
40 .IP \fB-v\fP
41 Include variable definitions (variables mentioned at the start of a line)
42 .IP \fB-V\fP
43 Print version information.
44 .IP \fB-w\fP
45 Suppress "duplicate tag" warning messages.
46 .IP \fB-x\fP
47 Explicitly create a new tags file. Normally new tags are merged with
48 the old tags file.
49 .PP
50 \fBshtags\fP scans the specified files for subroutines and possibly
51 variable definitions, and creates a \fBvi\fP style tags file.
52 .SH FILES
53 .IP \fBtags\fP
54 A tags file contains a sorted list of tags, one tag per line. The
55 format is the same as that used by \fBvi\fP(1)
56 .SH AUTHOR
57 Stephen Riehm
58 .br
59 sr@pc-plus.de
60 .SH "SEE ALSO"
61 ctags(1), etags(1), perl(1), tclsh(1), wish(1), sh(1), ksh(1).