xref: /linux/Documentation/sphinx/cdomain.py (revision e8f5c617f26626ef4915ffa176f4ae02c9e08531)
1*e8f5c617SMarkus Heiser# -*- coding: utf-8; mode: python -*-
2*e8f5c617SMarkus Heiseru"""
3*e8f5c617SMarkus Heiser    cdomain
4*e8f5c617SMarkus Heiser    ~~~~~~~
5*e8f5c617SMarkus Heiser
6*e8f5c617SMarkus Heiser    Replacement for the sphinx c-domain.
7*e8f5c617SMarkus Heiser
8*e8f5c617SMarkus Heiser    :copyright:  Copyright (C) 2016  Markus Heiser
9*e8f5c617SMarkus Heiser    :license:    GPL Version 2, June 1991 see Linux/COPYING for details.
10*e8f5c617SMarkus Heiser"""
11*e8f5c617SMarkus Heiser
12*e8f5c617SMarkus Heiserfrom sphinx.domains.c import CObject as Base_CObject
13*e8f5c617SMarkus Heiserfrom sphinx.domains.c import CDomain as Base_CDomain
14*e8f5c617SMarkus Heiser
15*e8f5c617SMarkus Heiser__version__  = '1.0'
16*e8f5c617SMarkus Heiser
17*e8f5c617SMarkus Heiserdef setup(app):
18*e8f5c617SMarkus Heiser
19*e8f5c617SMarkus Heiser    app.override_domain(CDomain)
20*e8f5c617SMarkus Heiser
21*e8f5c617SMarkus Heiser    return dict(
22*e8f5c617SMarkus Heiser        version = __version__,
23*e8f5c617SMarkus Heiser        parallel_read_safe = True,
24*e8f5c617SMarkus Heiser        parallel_write_safe = True
25*e8f5c617SMarkus Heiser    )
26*e8f5c617SMarkus Heiser
27*e8f5c617SMarkus Heiserclass CObject(Base_CObject):
28*e8f5c617SMarkus Heiser
29*e8f5c617SMarkus Heiser    """
30*e8f5c617SMarkus Heiser    Description of a C language object.
31*e8f5c617SMarkus Heiser    """
32*e8f5c617SMarkus Heiser
33*e8f5c617SMarkus Heiserclass CDomain(Base_CDomain):
34*e8f5c617SMarkus Heiser
35*e8f5c617SMarkus Heiser    """C language domain."""
36*e8f5c617SMarkus Heiser    name = 'c'
37*e8f5c617SMarkus Heiser    label = 'C'
38*e8f5c617SMarkus Heiser    directives = {
39*e8f5c617SMarkus Heiser        'function': CObject,
40*e8f5c617SMarkus Heiser        'member':   CObject,
41*e8f5c617SMarkus Heiser        'macro':    CObject,
42*e8f5c617SMarkus Heiser        'type':     CObject,
43*e8f5c617SMarkus Heiser        'var':      CObject,
44*e8f5c617SMarkus Heiser    }
45