================
@@ -24954,6 +24954,82 @@ TEST_F(FormatTest, DisableRegions) {
                  "// clang-format on");
 }
 
+TEST_F(FormatTest, OneLineFormatOffRegex) {
+  auto Style = getLLVMStyle();
+  Style.OneLineFormatOffRegex = "// format off$";
+
+  verifyFormat("// format off\n"
+               "int i ;\n"
+               "int j;",
+               " // format off\n"
+               "int i ;\n"
+               "int j ;",
+               Style);
+  verifyFormat("// format off?\n"
+               "int i;",
+               "// format off?\n"
+               "int i ;",
+               Style);
+  verifyFormat("f(\"// format off\");", "f(\"// format off\") ;", Style);
+
+  verifyFormat("int i;\n"
+               "// format off\n"
+               "int j ;\n"
+               "int k;",
+               "int i ;\n"
+               " // format off\n"
+               "int j ;\n"
+               "int k ;",
+               Style);
+
+  verifyFormat("int i;\n"
+               "int j ; // format off\n"
+               "int k;",
+               "int i ;\n"
+               "int j ; // format off\n"
+               "int k ;",
+               Style);
+
+  verifyFormat("// clang-format off\n"
+               "int i ;\n"
+               "int j ; // format off\n"
+               "int k ;\n"
+               "// clang-format on\n"
+               "f();",
+               "// clang-format off\n"
+               "int i ;\n"
+               "int j ; // format off\n"
+               "int k ;\n"
+               "// clang-format on\n"
+               "f() ;",
+               Style);
+
+  Style.OneLineFormatOffRegex = "^/\\* format off \\*/";
+  verifyFormat("int i;\n"
+               " /* format off */ int j ;\n"
+               "int k;",
+               "int i ;\n"
+               " /* format off */ int j ;\n"
+               "int k ;",
+               Style);
+  verifyFormat("f(\"/* format off */\");", "f(\"/* format off */\") ;", Style);
+
+  Style.ColumnLimit = 50;
+  Style.OneLineFormatOffRegex = "^LogErrorPrint$";
----------------
HazardyKnusperkeks wrote:

I'm confused, `^` normally matches the beginning, why does this work here?

https://github.com/llvm/llvm-project/pull/137577
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to