This is the contrib section, an area for eproject-using features that
are more complicated than a few functions, or may not be suitable for
eproject-extras.

Please contribute anything you want here, but keep the following in
mind:

  * The code must be released under the same license as Emacs itself.

  * Nothing in here will be loaded by default; if your file is being
    loaded, it's because the user wants it to take effect.  Therefore,
    feel free to add hooks and keybindings, if necessary.

  * Ensure that any configuration is made customizable via defcustom.

  * Follow the proper conventions for keybindings that you create by
    default.

  * Namespace your functions with
    eproject-<extension>-<function-name>.  If you don't want the
    function to be public, use two dashes between your extension name
    and the function name, like: eproject-foo--internal-foobar.
    Public functions should retain backwards compatability between
    releases, so if you're not sure you want to obligate yourself to
    that, keep the function internal.

  * Commands (interactive functions) should have a docstring that
    checkdoc (M-x checkdoc) likes.  Yes, you really need to write
    "Return FOO.", not "Returns foo".

  * Documentation is always helpful.  Feel free to write long-form
    documentation in another file, perhaps your-extension.txt or
    your-extension.md.

  * Do not define project types here.  Do that in the lang/ section.

The eproject community thanks you for your contribution!  Please do
not hesitate to ask for direct commit access to the main repository.
It will be granted.
