efaq: Finding a package with particular functionality
8.2 How do I find a Emacs Lisp package that does XXX?
=====================================================
First of all, you should check to make sure that the package isn’t
already available. For example, typing ‘M-x apropos <RET> python <RET>’
lists all functions and variables containing the string ‘python’.
It is also possible that the package is on your system, but has not
been loaded. To see which packages are available for loading, look
through your computer’s lisp directory (File-name conventions).
The Lisp source to most packages contains a short description of how
they should be loaded, invoked, and configured—so before you use or
modify a Lisp package, see if the author has provided any hints in the
source code.
The command ‘C-h p’ (‘finder-by-keyword’) allows you to browse the
constituent Emacs packages.
For advice on how to find extra packages that are not part of Emacs,
see Packages that do not come with Emacs.