Как использовать регулярное выражение 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 в этом.

Другие вопросы по тегам