Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
command line (emacs) interface into devhelp
Python Emacs Lisp
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore
README.markdown
devhelp-index.py
devhelp-query.py
devhelp.el

README.markdown

Some useful API documentation is not available as man pages but in some other format:

  • GTK stack, including related libraries like Cairo, uses gtk-doc;
  • the excellent C++ reference available at cppreference.com is HTML.

If they were man pages they'd integrate well into emacs (where M-x man shows the man page of the word under the cursor). But both are available Devhelp data files, which are for a Windows help–like system. Devhelp's GUI provides lists of functions, keywords, etc.

The Python scripts in this repository index the Devhelp data file to generate a plain text file mapping keywords to docs. The elisp code then provides a M-x devhelp command which behaves like man, except that it opens the result in a browser.

Setup

For gtk-doc based packages like Cairo, apt-get install libcairo2-doc. For the C++ reference, install from the PPA.

Now run ./devhelp-index.py. It will crawl those documentation directories and create an index in ~/.cache.

Finally, symlink devhelp-query.py into your PATH somewhere. You can now call it:

$ devhelp-query equal_range
/usr/share/cppreference/doc/en/html/en.cppreference.com/w/cpp/algorithm/equal_rangehtml.html

In Emacs, install devhelp.el and call it via M-x devhelp. (If you install the appropriate Emacs packages, (setq browse-url-browser-function 'w3m-browse-url) will make Emacs use the w3m browser within an Emacs buffer, bringing back the man experience.)

Something went wrong with that request. Please try again.