CPPMAN(1)

NAME
cppman - C++ manual page viewer / fetcher

SYNOPSIS
cppman [ OPTIONS... ] PAGE...

DESCRIPTION
cppman generates C++ manual pages from cplusplus.com and cppreference.com and provides a man-like interface to view man pages.

By default, cppman fetches man pages on-the-fly, by running the command 'cppman -c', all available manpages are cached, making offline browsing possible. This is also required if you want to use the system 'man' command.

When searching for a page (e.g., 'cppman map'), cppman automatically tries the std:: prefix first (std::map) for better results. If a page name is specified without the -f option, cppman displays the first match directly. Use -f to show an interactive selection menu with pagination support (20 items per page).

  Browsing man pages
cppman uses Vi Improved as a pager.
Press 'q' to leave pager. Press 'K' on an entry like 'vector::insert(3)' links you to the manual page of vector::insert, like a hyperlink.

  man compatibility
cppman automatically adds '$XDG_CACHE_HOME/cppman/man' to '~/.manpath', so the cached man pages can also be viewed with 'man' command. Note that to view uncached man pages, you still need to run 'cppman'.

OPTIONS

-s SOURCE, --source=SOURCE
    Select source, either 'cppreference.com' or 'cplusplus.com'. Default is 'cppreference.com'.

-c, --cache-all
    cache all available man pages from cplusplus.com to enable offline browsing

-C, --clear-cache
    clear all cached files

-f KEYWORD, --find-page=KEYWORD
    find man page and show interactive selection menu if multiple matches are found. The menu displays up to 20 results per page. Use 'n' or 'next' to go to the next page, 'p' or 'prev' to go to the previous page, or enter a number to select a specific page.

-o, --force-update
    force cppman to update existing cache when '--cache-all' or browsing man pages that were already cached

-m MANDB, --use-mandb=MANDB
    Accepts 'true' or 'false'. If true, cppman adds manpage path to mandb so that you can view C++ manpages with `man' command. The default value is 'false'.

-p PAGER, --pager=PAGER
    Select pager to use, accepts 'vim', 'nvim' or 'less'. The default value is 'vim'. If 'nvim' is selected, but not available, 'vim' is used as a fallback and vice versa. If either is selected, but neither is available, 'less' is used as a fallback.

-r, --rebuild-index
    rebuild index database from cplusplus.com and cppreference.com

-n NUM, --max-results=NUM
    maximum number of search results to show in the selection menu

-v, --version
    show version information

-h, --help
    show this help message and exit

NOTE
All contents should be cached by the user, cppman does not contain any pre-cached contents.

Do not distribute the cached man pages without the permission of cplusplus.com.

BUGS
Although I spend a lot of time checking the format, there are still pages that won't display correctly.
Feel free to report bugs at:

https://github.com/aitjcize/cppman/issues or
mailto:aitjcize@gmail.com.

Please include the page name in the bug report.

AUTHOR
Wei-Ning Huang (AZ) <aitjcize@gmail.com>