我正试图将clang-tidy
的硬编码配置选项从我们的Makefile移动到一个.clang-tidy
的YAML文件中。目前,我们使用以下命令调用run-clang-tidy-6.0.py:
# Run clang-tidy. The header filter includes files in the foo and bar/baz directories
# but it excludes files ending in .g.h (auto-generated headers).
run-clang-tidy-6.0.py -header-filter='.*(foo|bar\/baz).*(?<!\.g\.h)$$' > clang-tidy-output.txt
这个可以正常工作。但是如果我在.clang-tidy
中有HeaderFilterRegex: '.*(foo|bar\/baz).*(?<!\.g\.h)$$'
,过滤就不能按预期工作。
我尝试了各种不同的方法来编写转义字符,因为我知道Make和YAML对此有不同的期望,但我无法做到完全正确。 例如:
- 将$$替换为$
- 双重转义\(\ -> \\\\)
- 删除''
能否有人向我解释一下如何在YAML文件中正确编写这个正则表达式?
run-cland-tidy
,我正在尝试匹配以foo
或bar/baz
开头的路径(排除所有其他目录)。同时不要匹配任何以.g.h
结尾的文件,因为这些是自动生成的,不应该通过linter运行。 - Brandon Schaefer