Как использовать регулярное выражение exclude_files в cpplint?
Я использую cpplint для проверки моего sourcode против руководства по стилю Google.
Помощь Cpplint говорит:
cpplint.py supports per-directory configurations specified in CPPLINT.cfg
files. CPPLINT.cfg file can contain a number of key=value pairs.
Currently the following options are supported:
"exclude_files" allows to specify a regular expression to be matched against
a file name. If the expression matches, the file is skipped and not run
through liner.
Example file:
filter=-build/include_order,+build/include_alpha
exclude_files=.*\.cc
The above example disables build/include_order warning and enables
build/include_alpha as well as excludes all .cc from being
processed by linter, in the current directory (where the .cfg
file is located) and all sub-directories.
Как я использую cpplint:
я использую cpplint
с помощью этой команды, чтобы проверить все файлы в моей исходной папке:cpplint src/*.c
Ну есть один специальный файл foo.cc
который не должен быть проверен. Поэтому я попытался создать CPPLIN.cfg
использовать exclude_files
имущество. Мой файл выглядит так:
set noparent
filter=-build/include_dir
exclude_files=foo.cc
тем не менее foo.cc
все еще проверено.
Что я уже пытался сделать:
Я старался exclude_files=/.*\.cc/
, Это должно исключить все файлы, заканчивающиеся *.cc. Тем не менее все файлы все еще проверены.
Я пытался удалить свой filter
из файла. Это вызвало больше ошибок, чем раньше. Так что теперь я уверен, что мой CPPLINT.cfg
файл найден cpplint.
Вопрос:
Как правильно использовать регулярное выражение exclude_files в cpplint?
1 ответ
Оказывается, очевидно, что документ не так: exclude_files
исключает только файлы в том же каталоге, что и CPPLINT.cfg
, не в подкаталогах. См. https://github.com/google/styleguide/issues/220
Таким образом, решение было бы создать src/CPPLINT.cfg
и положи exclude_files=.*\.cc
в этом.