考虑文件中包含以下内容
Main.c
#include "Main.h"
#include "Main_something.h"
#include "Main_anotherthing.h"
#include "Main_randomString.h"
#include "Something_FromAnotherLib.h"
我想让
clang-format
考虑以 Main
(格式化文件名)开头的所有内容作为主标题,并将其分配为 0 类别。
clang-format
提供了与我需要的相反。它允许您指定一堆也算作主文件的源文件后缀。 IE。 Main_myThing.c
被认为是出于包含排序的目的而命名为 Main.c
。我需要能够指定一堆被视为“主要”的标头名称后缀。 IE。 Main_mything.h
== Main.h
用于包含排序。
有可能实现这个目标吗?
不幸的是,你不能在这个正则表达式中使用任何“预定义的魔法值” 看看 https://clang.llvm.org/doxygen/HeaderIncludes_8cpp_source.html
CategoryRegexs.emplace_back(Category.Regex
...
if (CategoryRegexs[i].match(IncludeName))
但是,如果你愿意,你可以做这样的事情。创建模板 .clang-format.tmpl 文件,
IncludeCategories
- Regex: '${placeholder}.*'
并通过每个子文件夹 .clang-format 中的脚本传播它,并将
${placeholder}
替换为 Main_
或 $0/
或任何其他。