From 591006fe672adf9c166b9440176e03ed1554191e Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Mon, 28 Nov 2011 01:37:34 +0000 Subject: Discuss the default behaviour up front before talking about options modifying it; based on a remark by kristaps@. While here, mention parsing of unformatted files and the changed index format and fix a few minor issues. --- mandocdb.8 | 83 +++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 36 deletions(-) diff --git a/mandocdb.8 b/mandocdb.8 index e7a0bf13..f2feba5e 100644 --- a/mandocdb.8 +++ b/mandocdb.8 @@ -23,7 +23,7 @@ .Sh SYNOPSIS .Nm .Op Fl av -.Op Ar dir... +.Op Ar dir ... .Nm .Op Fl v .Fl d Ar dir @@ -43,52 +43,54 @@ and .Sx Index Database for fast retrieval. .Pp -The arguments are as follows: -.Bl -tag -width Ds -.It Fl a -Use all directories and files found below -.Ar dir ... . -By default, only files matching +By default, +.Nm +creates databases in each +.Ar dir +using the files .Sm off .Sy man Ar section Li / .Op Ar arch Li / .Ar title . section .Sm on -will be used. +and +.Sm off +.Sy cat Ar section Li / +.Op Ar arch Li / +.Ar title . Sy 0 +.Sm on +in that directory; +existing databases are truncated. +If +.Ar dir +is not provided, +.Nm +uses the default paths stipulated by +.Xr man 1 . +.Pp +The arguments are as follows: +.Bl -tag -width Ds +.It Fl a +Use all directories and files found below +.Ar dir ... . .It Fl d Ar dir Merge (remove and re-add) .Ar -from the databases in -.Ar dir . +to the database in +.Ar dir +without truncating it. .It Fl u Ar dir Remove .Ar -from the databases in -.Ar dir . -.It Ar dir... -Recursively add files rooted at each +from the database in .Ar dir -to the databases in the respective -.Ar dir . -Existing databases are truncated. +without truncating it. .It Fl v Verbose operation. Use once to display all files added or removed and twice for keywords as well. .El .Pp -By default, -.Nm -creates databases in each -.Ar dir -using files rooted in that directory. -If -.Ar dir -is not provided, -.Nm -uses the default paths stipulated by -.Xr man 1 . -.Pp 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. @@ -101,18 +103,27 @@ database with record values consisting of .Pp .Bl -enum -compact .It -a nil-terminated filename, +the string +.Cm mdoc , +.Cm man , +or +.Cm cat +to indicate the file type, .It -a nil-terminated manual section, +the filename, .It -a nil-terminated manual title, +the manual section, .It -a nil-terminated architecture -.Pq this is not often available +the manual title, .It -and a nil-terminated description. +the architecture +.Pq often empty , +.It +and the description. .El .Pp +Each of the above is NUL-terminated. +.Pp Both the manual section and description may be zero-length if the record is unassigned. Entries are sequentially-numbered, but the filenames are unordered. @@ -121,7 +132,7 @@ The keyword database, .Pa mandoc.db , is a .Xr btree 3 -database of nil-terminated keywords (record length is non-zero string +database of NUL-terminated keywords (record length is non-zero string length plus one) mapping to a 8-byte binary field consisting of the keyword type and source .Sx Index Database -- cgit