我希望 clang-format 不修改我用来分隔函数的注释行。我认为commentPragmas
是正确的选择,但我找不到有关 clang-format 正则表达式格式的信息。
I tried commentPragmas: '^/\*-.*'
捕捉我的分隔线,看起来像这样
/*------------------------------------------------------------------*/
但上面的正则表达式不起作用...我在哪里可以查找 clang-format 正则表达式的语法?
TL/DR:味道是 POSIX ERE
据我所知,正则表达式的风格没有记录在ClangFormat 文档 http://clang.llvm.org/docs/ClangFormatStyleOptions.html,这非常无益。
让我们深入研究源代码来找出答案。
有一个类名为ContinuationIndenter
,其中有一个CommentPragmasRegex
字段,类型...llvm::Regex
就在这儿 https://github.com/llvm-mirror/clang/blob/00d311a51369c41efbdae2e4935713fa10bb0e91/lib/Format/ContinuationIndenter.h#L145。好吧,这也不是很有帮助,但也许它只是一个包装......
事实证明llvm::Regex
是一个包装器 https://github.com/llvm-mirror/llvm/blob/8f3f50aeef0afa4b74d51713963d42b6dd9f22ae/include/llvm/Support/Regex.h#L97大约...llvm_regex
。标头包括这条评论 https://github.com/llvm-mirror/llvm/blob/8f3f50aeef0afa4b74d51713963d42b6dd9f22ae/include/llvm/Support/Regex.h#L10-L13 though:
该文件实现了 POSIX 正则表达式匹配器。基本版和
支持扩展 POSIX 正则表达式 (ERE)。 ERE 延长
支持匹配中的反向引用。
此实现还支持与嵌入的 NUL 字符匹配的字符串。
In the 定义的标头llvm_regex https://github.com/llvm-mirror/llvm/blob/93e6e5414ded14bcbb233baaaa5567132fee9a0c/lib/Support/regex_impl.h#L2我们还可以找到这样的评论:
此代码源自 OpenBSD 的 libc/regex
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)