diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-02-10 11:04:09 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-02-14 08:32:13 +0100 |
commit | 186f4492bf9974037ed23550af76f8ea989f88d5 (patch) | |
tree | ccf2be62611d676e6c973824e9931a16c3ea5ab5 | |
parent | spec: Add header file references (diff) | |
download | rtems-central-186f4492bf9974037ed23550af76f8ea989f88d5.tar.bz2 |
rtemsspec: Add a get value for header files
-rw-r--r-- | rtemsspec/applconfig.py | 4 | ||||
-rw-r--r-- | rtemsspec/content.py | 5 | ||||
-rw-r--r-- | rtemsspec/interface.py | 6 | ||||
-rw-r--r-- | rtemsspec/sphinxcontent.py | 6 | ||||
-rw-r--r-- | rtemsspec/tests/spec-interface/func4.yml | 3 | ||||
-rw-r--r-- | rtemsspec/tests/test_interfacedoc.py | 4 |
6 files changed, 22 insertions, 6 deletions
diff --git a/rtemsspec/applconfig.py b/rtemsspec/applconfig.py index d203426d..caef370a 100644 --- a/rtemsspec/applconfig.py +++ b/rtemsspec/applconfig.py @@ -28,7 +28,8 @@ from typing import Any, Callable, Dict, List, Optional from rtemsspec.content import Content, CContent, get_value_double_colon, \ get_value_doxygen_function, get_value_doxygen_group, \ - get_value_doxygen_ref, get_value_hash, get_value_plural + get_value_doxygen_ref, get_value_hash, get_value_header_file, \ + get_value_plural from rtemsspec.sphinxcontent import GenericContent, SphinxContent, \ SphinxInterfaceMapper from rtemsspec.items import EmptyItem, Item, ItemCache, ItemGetValueContext, \ @@ -311,6 +312,7 @@ def _add_doxygen_get_values(mapper: ItemMapper) -> None: mapper.add_get_value("interface/function:/name", get_value_doxygen_function) mapper.add_get_value("interface/group:/name", get_value_doxygen_group) + mapper.add_get_value("interface/header-file:/path", get_value_header_file) mapper.add_get_value("interface/macro:/name", get_value_doxygen_function) mapper.add_get_value("interface/struct:/name", get_value_double_colon) mapper.add_get_value("interface/typedef:/name", get_value_double_colon) diff --git a/rtemsspec/content.py b/rtemsspec/content.py index 242e0db9..12ea4e9a 100644 --- a/rtemsspec/content.py +++ b/rtemsspec/content.py @@ -1040,6 +1040,11 @@ def get_value_double_colon(ctx: ItemGetValueContext) -> Any: return f"::{ctx.value[ctx.key]}" +def get_value_header_file(ctx: ItemGetValueContext) -> Any: + """ Gets a value formatted as a header file. """ + return f"``<{ctx.value[ctx.key]}>``" + + def get_value_hash(ctx: ItemGetValueContext) -> Any: """ Gets a value with a # prefix. """ return f"#{ctx.value[ctx.key]}" diff --git a/rtemsspec/interface.py b/rtemsspec/interface.py index d5edc0ec..4cb2cb6f 100644 --- a/rtemsspec/interface.py +++ b/rtemsspec/interface.py @@ -36,8 +36,8 @@ from rtemsspec.content import CContent, CInclude, enabled_by_to_exp, \ ExpressionMapper, forward_declaration, get_value_compound, \ get_value_double_colon, get_value_doxygen_function, \ get_value_doxygen_group, get_value_doxygen_ref, \ - get_value_forward_declaration, get_value_hash, get_value_params, \ - get_value_plural, to_camel_case + get_value_forward_declaration, get_value_hash, get_value_header_file, \ + get_value_params, get_value_plural, to_camel_case from rtemsspec.items import Item, ItemCache, ItemGetValueMap, ItemMapper ItemMap = Dict[str, Item] @@ -81,6 +81,8 @@ class _InterfaceMapper(ItemMapper): self.add_get_value("interface/enum/doc:/name", get_value_hash) self.add_get_value("interface/group/doc:/name", get_value_doxygen_group) + self.add_get_value("interface/header-file/doc:/path", + get_value_header_file) self.add_get_value("interface/macro/doc:/name", get_value_doxygen_function) self.add_get_value("interface/macro/doc:/params/name", diff --git a/rtemsspec/sphinxcontent.py b/rtemsspec/sphinxcontent.py index 1002f9ce..199ee874 100644 --- a/rtemsspec/sphinxcontent.py +++ b/rtemsspec/sphinxcontent.py @@ -27,8 +27,8 @@ from contextlib import contextmanager from typing import Any, Iterable, Iterator, List, Optional, Sequence, Union -from rtemsspec.content import Content, get_value_plural, make_lines, \ - to_camel_case +from rtemsspec.content import Content, get_value_header_file, \ + get_value_plural, make_lines, to_camel_case from rtemsspec.items import Item, ItemGetValue, ItemGetValueContext, ItemMapper GenericContent = Union[str, List[str], "Content"] @@ -286,6 +286,8 @@ class SphinxMapper(ItemMapper): _get_value_sphinx_macro) self.add_get_value("interface/function:/name", _get_value_sphinx_function) + self.add_get_value("interface/header-file:/path", + get_value_header_file) self.add_get_value("interface/macro:/name", _get_value_sphinx_function) self.add_get_value("interface/struct:/name", _get_value_sphinx_type) self.add_get_value("interface/typedef:/name", _get_value_sphinx_type) diff --git a/rtemsspec/tests/spec-interface/func4.yml b/rtemsspec/tests/spec-interface/func4.yml index 193329d3..3d6cafbf 100644 --- a/rtemsspec/tests/spec-interface/func4.yml +++ b/rtemsspec/tests/spec-interface/func4.yml @@ -15,7 +15,8 @@ definition: params: [] return: NotSoVeryLongType enabled-by: true -description: null +description: | + I am defined in ${h4:/path}. enabled-by: true index-entries: [] interface-type: function diff --git a/rtemsspec/tests/test_interfacedoc.py b/rtemsspec/tests/test_interfacedoc.py index 3d5eb523..e9d78bad 100644 --- a/rtemsspec/tests/test_interfacedoc.py +++ b/rtemsspec/tests/test_interfacedoc.py @@ -155,6 +155,10 @@ Function brief description with very long return type. VeryLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongType VeryLongTypeFunction( void ); +.. rubric:: DESCRIPTION: + +I am defined in ``<h4.h>``. + .. rubric:: RETURN VALUES: This function returns an object with a very long type. |