[libcamera-devel] [PATCH] utils: checkstyle.py: Add Doxygen formatter
Kieran Bingham
kieran.bingham at ideasonboard.com
Thu Jul 4 11:39:19 CEST 2019
Hi Laurent,
On 03/07/2019 22:13, 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.
Thanks this looks good, I initially thought that the '/**' and '*/'
should be regexes to validate that they are '^/**$' and '^ */$', but
then I realised that I think we could have indented doxygen statements.
So this looks good.
I ran pep8 on your patch, and while pep8 reports quite a few issues on
checkstyle.py, none of them are in your hunk.
So then I wrote a patch to add a pep8 checker, to, well, - check itself.
--
Anyway,
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> 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
--
Kieran
More information about the libcamera-devel
mailing list