summaryrefslogtreecommitdiffstats
path: root/apropos.1
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2012-06-08 10:44:52 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2012-06-08 10:44:52 +0000
commitb029b3cbf4ce3eeea06b12cda0ccf718b5c9218a (patch)
tree57a0de979850efe8e3eebaa65e2a9a267adfeab1 /apropos.1
parentda0fcee05b3a404a921d654e0d4118bce438716e (diff)
downloadmandoc-b029b3cbf4ce3eeea06b12cda0ccf718b5c9218a.tar.gz
Flip apropos to use mansearch instead of apropos_db.
This makes the utility much smaller and simpler. A lot of functionality has been omitted while the sqlite3 search routines improve (logical operations, etc.). It still needs work to make the output more conventional. Also add the manpage utility, which I use extensively as a mind-meld of apropos and man.
Diffstat (limited to 'apropos.1')
-rw-r--r--apropos.1116
1 files changed, 24 insertions, 92 deletions
diff --git a/apropos.1 b/apropos.1
index a87fdb6d..15b8b065 100644
--- a/apropos.1
+++ b/apropos.1
@@ -42,13 +42,11 @@ By default,
searches for
.Xr mandocdb 8
databases in the default paths stipulated by
-.Xr man 1 ,
-parses terms as case-sensitive regular expressions
+.Xr man 1
+and
+parses terms as case-sensitive words
over manual names and descriptions.
-Multiple terms imply pairwise
-.Fl o .
-If standard output is a TTY, a result may be selected from a list and
-its manual displayed with the pager.
+Multiple terms are OR'd.
.Pp
Its arguments are as follows:
.Bl -tag -width Ds
@@ -81,41 +79,8 @@ for a listing of manual sections.
.Pp
An
.Ar expression
-consists of search terms joined by logical operators
-.Fl a
-.Pq and
-and
-.Fl o
-.Pq or .
-The
-.Fl a
-operator has precedence over
-.Fl o
-and both are evaluated left-to-right.
-.Bl -tag -width Ds
-.It \&( Ar expr No \&)
-True if the subexpression
-.Ar expr
-is true.
-.It Ar expr1 Fl a Ar expr2
-True if both
-.Ar expr1
-and
-.Ar expr2
-are true (logical
-.Qq and ) .
-.It Ar expr1 Oo Fl o Oc Ar expr2
-True if
-.Ar expr1
-and/or
-.Ar expr2
-evaluate to true (logical
-.Qq or ) .
-.It Ar term
-True if
-.Ar term
-is satisfied.
-This has syntax
+consists of type and keyword pairs.
+This pair syntax
.Li [key[,key]*(=~)]?val ,
where operand
.Cm key
@@ -129,22 +94,15 @@ See
for a list of available keys.
Operator
.Li \&=
-evaluates a substring, while
+evaluates a full string, while
.Li \&~
-evaluates a regular expression.
-.It Fl i Ar term
-If
-.Ar term
-is a regular expression, it
-is evaluated case-insensitively.
-Has no effect on substring terms.
-.El
+evaluates a
+.Xr glob 7
+pattern.
.Pp
Results are sorted by manual title, with output formatted as
-.Pp
-.D1 title(sec) \- description
-.Pp
-Where
+.Qq title(sec) \- description
+where
.Qq title
is the manual's title (note multiple manual names may exist for one
title),
@@ -153,24 +111,7 @@ is the manual section, and
.Qq description
is the manual's short description.
If an architecture is specified for the manual, it is displayed as
-.Pp
-.D1 title(cat/arch) \- description
-.Pp
-If on a TTY, results are prefixed with a numeric identifier.
-.Pp
-.D1 [index] title(cat) \- description
-.Pp
-One may choose a manual be entering the index at the prompt.
-Valid choices are displayed using
-.Ev MANPAGER ,
-or failing that ,
-.Ev PAGER
-or just
-.Xr more 1 .
-Source pages are formatted with
-.Xr mandoc 1 ;
-preformatted pages with
-.Xr cat 1 .
+.Qq title(cat/arch) \- description .
.Ss Macro Keys
Queries evaluate over a subset of
.Xr mdoc 7
@@ -248,14 +189,6 @@ Text production:
.El
.Sh ENVIRONMENT
.Bl -tag -width Ds
-.It Ev MANPAGER
-Default pager for manuals.
-If this is unset, falls back to
-.Ev Pager .
-.It Ev PAGER
-The second choice for a manual pager.
-If this is unset, use
-.Xr more 1 .
.It Ev MANPATH
Colon-separated paths modifying the default list of paths searched for
manual databases.
@@ -294,31 +227,30 @@ configuration file
.Sh EXAMPLES
Search for
.Qq mdoc
-as a substring and regular expression
-within each manual name and description:
+as a word or
+.Xr glob 7
+expression:
.Pp
.Dl $ apropos mdoc
-.Dl $ apropos ~^mdoc$
+.Dl $ apropos any~mdoc*
.Pp
Include matches for
.Qq roff
and
.Qq man
-for the regular expression case:
+using
+.Xr glob 7
+expressions:
.Pp
-.Dl $ apropos ~^mdoc$ roff man
-.Dl $ apropos ~^mdoc$ \-o roff \-o man
+.Dl $ apropos ~*mdoc* ~*roff*
.Pp
Search for
-.Qq optind
-and
.Qq optarg
-as variable names in the library category:
+as a variable name in the library category:
.Pp
-.Dl $ apropos \-s 3 Va~^optind \-a Va~^optarg$
+.Dl $ apropos \-s 3 Va=optarg
.Sh SEE ALSO
-.Xr more 1
-.Xr re_format 7 ,
+.Xr glob 7 ,
.Xr mandocdb 8
.Sh AUTHORS
The