=================================================================== RCS file: /cvs/mandoc/Attic/mandocdb.8,v retrieving revision 1.1 retrieving revision 1.4 diff -u -p -r1.1 -r1.4 --- mandoc/Attic/mandocdb.8 2011/07/14 14:36:37 1.1 +++ mandoc/Attic/mandocdb.8 2011/08/18 08:58:44 1.4 @@ -1,4 +1,4 @@ -.\" $Id: mandocdb.8,v 1.1 2011/07/14 14:36:37 schwarze Exp $ +.\" $Id: mandocdb.8,v 1.4 2011/08/18 08:58:44 kristaps Exp $ .\" .\" Copyright (c) 2011 Kristaps Dzonsons .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: July 14 2011 $ +.Dd $Mdocdate: August 18 2011 $ .Dt MANDOCDB 8 .Os .Sh NAME @@ -22,53 +22,59 @@ .Nd index UNIX manuals .Sh SYNOPSIS .Nm -.Op Fl ruv -.Op Fl d Ar dir -.Ar +.Op Fl v +.Op Ar dir... +.Nm +.Op Fl v +.Fl d Ar dir +.Op Ar +.Nm +.Op Fl v +.Fl u Ar dir +.Op Ar .Sh DESCRIPTION The .Nm utility extracts keywords from .Ux -manuals and indexes them for fast retrieval. +manuals and indexes them in a +.Sx Keyword Database +and +.Sx Index Database +for fast retrieval. The arguments are as follows: .Bl -tag -width Ds .It Fl d Ar dir -The directory into which to write the keyword and index databases. -.It Ar -Read input from zero or more files in -.Xr mdoc 7 -or -.Xr man 7 -.Ux -manual format. -.It Fl r -Remove entries. -This will remove the index and keyword references. -If the record is not found, it is ignored. -.It Fl u -Update the record. -This will first remove the record (as in -.Fl r ) -then re-add it. +Remove +.Ar +from the databases in +.Ar dir . +.It Fl u Ar dir +Update (remove and re-add) +.Ar +from the databases in +.Ar dir . +.It Ar dir... +Recursively add files rooted at each +.Ar dir +to the databases in the respective +.Ar dir . +Existing databases are truncated. .It Fl v -Verbose output. -If specified once, prints the name of each indexed file. -If twice, prints keywords for each file. +Verbose operation. +Use once to display all files added or removed and twice for keywords as +well. .El .Pp By default, .Nm -constructs a new -.Sx Index Database -and -.Sx Keyword Database -in the current working directory. -Existing databases are truncated. +creates databases in each +.Ar dir +using files rooted in that directory. .Pp -If fatal parse errors are encountered, the offending file is printed to -stderr, omitted from the index, and the parse continues with the next -input file. +If fatal parse errors are encountered while parsing, the offending file +is printed to stderr, omitted from the index, and the parse continues +with the next input file. .Ss Index Database The index database, .Pa mandoc.index , @@ -90,7 +96,8 @@ a nil-terminated architecture and a nil-terminated description. .El .Pp -Both the manual section and description may be zero-length. +Both the manual section and description may be zero-length if the record +is unassigned. Entries are sequentially-numbered, but the filenames are unordered. .Ss Keyword Database The keyword database, @@ -145,11 +152,11 @@ utility is .Ud .Sh IMPLEMENTATION NOTES The time to construct a new database pair grows linearly with the -number of keywords in the input. +number of keywords in the input files. However, removing or updating entries with -.Fl r +.Fl u or -.Fl u , +.Fl d , respectively, grows as a multiple of the index length and input size. .Sh FILES .Bl -tag -width Ds @@ -183,9 +190,12 @@ to exit at once, possibly in the middle of parsing or The output databases are corrupt and should be removed . .El .Sh SEE ALSO -.Xr mandoc 1 +.Xr mandoc 1 , +.Xr btree 3 , +.Xr recno 3 .Sh AUTHORS The .Nm utility was written by -.An Kristaps Dzonsons Aq kristaps@bsd.lv . +.An Kristaps Dzonsons , +.Mt kristaps@bsd.lv .