[libcamera-devel] [PATCH] utils: checkstyle.py: Add Doxygen formatter
Niklas Söderlund
niklas.soderlund at ragnatech.se
Thu Jul 4 00:59:45 CEST 2019
Hi Laurent,
Thanks for your work.
On 2019-07-04 00:13:58 +0300, Laurent Pinchart wrote:
> Add a formatter for doxygen comments. In its initial implementation the
> formatter ensures that the first word of a \return statement starts with
> an uppercase letter.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Regexp and lambda function, reviewing is fun!
Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> ---
> utils/checkstyle.py | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/utils/checkstyle.py b/utils/checkstyle.py
> index bc631d405007..fab4b116d2ff 100755
> --- a/utils/checkstyle.py
> +++ b/utils/checkstyle.py
> @@ -350,6 +350,34 @@ class CLangFormatter(Formatter):
> return ret.stdout.decode('utf-8')
>
>
> +class DoxygenFormatter(Formatter):
> + patterns = ('*.c', '*.cpp')
> +
> + return_regex = re.compile(' +\\* +\\\\return +[a-z]')
> +
> + @classmethod
> + def format(cls, filename, data):
> + lines = []
> + in_doxygen = False
> +
> + for line in data.split('\n'):
> + if line.find('/**') != -1:
> + in_doxygen = True
> +
> + if not in_doxygen:
> + lines.append(line)
> + continue
> +
> + line = cls.return_regex.sub(lambda m: m.group(0)[:-1] + m.group(0)[-1].upper(), line)
> +
> + if line.find('*/') != -1:
> + in_doxygen = False
> +
> + lines.append(line)
> +
> + return '\n'.join(lines)
> +
> +
> class StripTrailingSpaceFormatter(Formatter):
> patterns = ('*.c', '*.cpp', '*.h', '*.py', 'meson.build')
>
> --
> Regards,
>
> Laurent Pinchart
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
--
Regards,
Niklas Söderlund
More information about the libcamera-devel
mailing list