aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/apropos_db.h
Commit message (Collapse)AuthorAgeFilesLines
* Be insane. Make apropos(1) subsume man(1).Kristaps Dzonsons2012-03-241-2/+2
|
* Simplify by not pre-filtering the result vector for satisfied matches:Kristaps Dzonsons2012-03-241-3/+17
| | | | we can do this in the frontend.
* Make the stored "cat"/"mdoc"/"man" strings just be c/d/a single-characterKristaps Dzonsons2011-12-161-2/+8
| | | | | bytes. This cuts down a little in index size and allows for cleaner extraction of information.
* Save the manual type (mdoc, man, or cat) in the index fileIngo Schwarze2011-11-271-1/+2
| | | | | | | | of the mandoc databases, as suggested by kristaps@. Given the well-structured code, this is surprisingly simple. This changes the mandoc.index database format. Run "sudo mandocdb" to regenerate your databases.
* Get us a whatis(1) mode for apropos(1).Kristaps Dzonsons2011-11-271-1/+2
| | | | | This is from a patch to tech@ as critiqued by schwarze@, checked in to get the ball rolling.
* Sync to OpenBSD, mostly gratuitous and whitespace differences,Ingo Schwarze2011-11-261-5/+5
| | | | | | | | | but a few serious things as well: * -M overrides MANPATH * -m prepends to the path * put back database close calls that got lost in mandocdb * missing sys/types.h in manpath.c, needed for size_t ok kristaps@
* Let apropos_db.h export the volume of manpages for a parsed record.Kristaps Dzonsons2011-11-231-1/+6
| | | | | | | | | This is necessary since an array of records can have duplicate record numbers in different mandoc.index files. The volume [right now] is just the index of the parsed mandoc.index in the manpaths. This is sensible because the order of the manpath is significant (it's the order of duplicate-named manuals displayed by man(1)) and is thus not likely to change.
* Integrate a moderately-patched version of schwarze@'s support for multipleKristaps Dzonsons2011-11-201-2/+2
| | | | | | | | | | | directories containing mandocdb(8) databases. Some changes follow: (1) don't support -M yet; (2) fall back to cwd if no prior manpath has been specified; (3) resolve manpages using realpath() to prevent consecutive chdir()'s over relative paths; (4) note where further error-reporting is required; (5) fix leaking memory on exit in several cases.
* Evaluation with logical subexpressions. This allows support for arbitrary,Kristaps Dzonsons2011-11-181-17/+6
| | | | nested logical subexpressions with AND (-a) and OR (-o) support.
* Have exprcomp() accept a string instead of an array-pointer. Also, collapseKristaps Dzonsons2011-11-141-2/+2
| | | | | the arguments in apropos(1) into a single string passed to exprcomp(). Ok schwarze@.
* Rewrite the expression parser for a more concise syntax:Ingo Schwarze2011-11-131-2/+2
| | | | | | | | | | | | | apropos [search_type[,...]=]substring apropos search_type[,...][,i]~regex ... and expression evaluation must take the search type into account. This allows to: * drop the global -I option and * drop the enum match, just using a boolean int. "go ahead" kristaps@
* Inventing new keywords for mostly the same thing when a well-establishedIngo Schwarze2011-11-131-15/+1
| | | | | | | | | | set of keywords already exists is a bad idea, so reuse the mdoc(7) macro names as apropos(1) search types. This is a gain in brevity as well. Some time ago, kristaps@ agreed in principle. The search type bit field constants are used by both mandocdb(8) and apropos(1) and should better stay in sync, so give them their own header file.
* Less misleading file names; ok kristaps@.Ingo Schwarze2011-11-131-0/+71