Commit ID 52bf3728e7174328f5f86cb0f24b24b37ab188a8
|Contributor:||Michael Jones||Files Modified:||10|
|Date:||18-November-2010 at 19:18||Lines Added:||392|
|Repository:||git://github.com/michaeljones/breathe.git master||Lines Removed:||19|
|Commit Comment:||Support for c & cpp functions for Sphinx domains
First, lengthy, pass at adding domain support to breathe, so that when
it outputs functions, it also outputs the appropriate "id" so that
Sphinx domain references like :cpp:func:`myFunction` can be used to
reference breathe output.
This requires quite some work. The user can specify file extensions or
globbed file paths that match to particular domains, so in the code we
need to figure out what the current file is that we're producing content
for and identify the corresponding domain for it.
The actual matching against a particular file is done in the ProjectInfo
code as that knows the conf.py settings.
The renderer factory has been changed so that it starts off with a
non-domain informed factory which tries whenever possible, ie. whenever
it is asked to make another node, to figure out what domain it is in. If
it is successful, the next node it makes, it creates a
DomainRendererFactory and gives it a specific domain handler. This
factory makes no further attempts to figure out its domain as it already
The original uninformed factory actually starts out with a null domain
handler so that our rendering code can still assume there is a domain
object to interact with.
DomainHandler objects current need to support "create_function_id" and
"create_function_target" members and are only called when we are
rendering functions. They essentially steal code/classes/ideas from
Sphinx so that the targets are formatted as Sphinx expects them to be.
There is also a certain amount of caching of results to check for
duplicates as we never want to giving two targets to Sphinx that are
The original idea is from nijel, stated in issue #9.
|File||Language||Code Added||Code Removed||Comments Added||Comment Removed||Blanks Added||Blanks Removed|
|testsuite/source/domains.rst||No source code was detected in this file.|
|testsuite/source/specific.rst||No source code was detected in this file.|
|testsuite/source/testpages.rst||No source code was detected in this file.|
Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.