diff options
Diffstat (limited to 'rtemsspec')
-rw-r--r-- | rtemsspec/interface.py | 8 | ||||
-rw-r--r-- | rtemsspec/interfacedoc.py | 6 | ||||
-rw-r--r-- | rtemsspec/tests/spec-interface/func.yml | 1 | ||||
-rw-r--r-- | rtemsspec/tests/test_interface.py | 2 | ||||
-rw-r--r-- | rtemsspec/tests/test_interfacedoc.py | 2 |
5 files changed, 17 insertions, 2 deletions
diff --git a/rtemsspec/interface.py b/rtemsspec/interface.py index 04536232..c9b07ff0 100644 --- a/rtemsspec/interface.py +++ b/rtemsspec/interface.py @@ -59,6 +59,10 @@ def _get_value_forward_declaration(ctx: ItemGetValueContext) -> Any: return _forward_declaration(ctx.item) +def _get_value_params(ctx: ItemGetValueContext) -> Any: + return f"``{ctx.value[ctx.key]}``" + + class _InterfaceMapper(ItemMapper): def __init__(self, node: "Node"): super().__init__(node.item) @@ -70,6 +74,8 @@ class _InterfaceMapper(ItemMapper): _get_value_forward_declaration) self.add_get_value("interface/function/doc:/name", get_value_doxygen_function) + self.add_get_value("interface/function/doc:/params/name", + _get_value_params) self.add_get_value("interface/enumerator/doc:/name", get_value_double_colon) self.add_get_value("interface/typedef/doc:/name", @@ -78,6 +84,8 @@ class _InterfaceMapper(ItemMapper): self.add_get_value("interface/enum/doc:/name", get_value_hash) self.add_get_value("interface/macro/doc:/name", get_value_doxygen_function) + self.add_get_value("interface/macro/doc:/params/name", + _get_value_params) self.add_get_value("interface/variable/doc:/name", get_value_hash) for opt in ["feature-enable", "feature", "initializer", "integer"]: name = f"interface/appl-config-option/{opt}/doc:/name" diff --git a/rtemsspec/interfacedoc.py b/rtemsspec/interfacedoc.py index 6109a711..5e7e3106 100644 --- a/rtemsspec/interfacedoc.py +++ b/rtemsspec/interfacedoc.py @@ -64,11 +64,17 @@ def _get_value_function(ctx: ItemGetValueContext) -> Any: return _get_reference(ctx.value[ctx.key]) +def _get_param(ctx: ItemGetValueContext) -> Any: + return f"``{ctx.value[ctx.key].lstrip('_')}``" + + class _Mapper(SphinxMapper): def __init__(self, item: Item): super().__init__(item) self.add_get_value("interface/function:/name", _get_value_function) self.add_get_value("interface/macro:/name", _get_value_function) + self.add_get_value("interface/function:/params/name", _get_param) + self.add_get_value("interface/macro:/params/name", _get_param) def _generate_introduction(target: str, group: Item, diff --git a/rtemsspec/tests/spec-interface/func.yml b/rtemsspec/tests/spec-interface/func.yml index c5177826..e5dc909b 100644 --- a/rtemsspec/tests/spec-interface/func.yml +++ b/rtemsspec/tests/spec-interface/func.yml @@ -17,6 +17,7 @@ description: | Function description. References to ${func2:/name}, ${td:/name}, ${enum:/name}, ${define:/name}, ${macro:/name}, ${var:/name}, ${enumerator-0:/name}, ${s:/name}, ${option:/name}, and ${option:/type}. + Second parameter is ${.:/params[1]/name}. enabled-by: true index-entries: [] interface-type: function diff --git a/rtemsspec/tests/test_interface.py b/rtemsspec/tests/test_interface.py index 924ab324..2ac2f3e9 100644 --- a/rtemsspec/tests/test_interface.py +++ b/rtemsspec/tests/test_interface.py @@ -205,7 +205,7 @@ typedef enum EnumB { * * Function description. References to VeryLongFunction(), ::Integer, #Enum, * #DEFINE, VERY_LONG_MACRO(), #Variable, ::ENUMERATOR_0, Struct, #a, and - * interface. + * interface. Second parameter is ``Param1``. * * @param Param0 is parameter 0. * diff --git a/rtemsspec/tests/test_interfacedoc.py b/rtemsspec/tests/test_interfacedoc.py index e7073027..c1c8f371 100644 --- a/rtemsspec/tests/test_interfacedoc.py +++ b/rtemsspec/tests/test_interfacedoc.py @@ -444,6 +444,6 @@ Function brief description. Function description. References to :ref:`InterfaceVeryLongFunction`, :c:type:`Integer`, :c:type:`Enum`, :c:macro:`DEFINE`, :ref:`InterfaceVERYLONGMACRO`, Variable, :c:macro:`ENUMERATOR_0`, -:c:type:`Struct`, :ref:`a`, and interface. +:c:type:`Struct`, :ref:`a`, and interface. Second parameter is ``Param1``. """ assert content == src.read() |