repoze/repoze.sphinx.autointerface — pull request #3 by ossmkitty (2012-12-19 17:12:38+00:00)
Title: Cannot cross-reference interfaces using the "fuzzy search" prefix, only exact dotted name

This module produces objects that can be cross-referenced using Sphinx's `:class:` directive with a complete dotted name, as in `:class:path.to.IInterface`. This works as expected.

The [Sphinx documents claim](http://sphinx-doc.org/domains.html#cross-referencing-python-objects) that cross referencing is possible without using the complete dotted name by prefixing a suffix with a `.`. This causes a search to occur. However, this did not seem to work with interfaces, and the complete dotted name was always required, apparently due to a role mismatch.

This pull lets cross references to interfaces work with shortened suffixes by telling the Python domain to accept objects registered with the role of `interface` as suitable cross-reference targets for the `class` and `obj` directives. Tested in Sphinx 1.1.3.