summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2018-11-04 12:01:29 +1100
committerMaxime Coste <mawww@kakoune.org>2018-11-04 12:01:29 +1100
commitb4571bd1721abeedb5baf27c059e0fbcff7802a5 (patch)
tree39ff5728c9ea78674c68180f9fc3ef13a99970ba /src
parent4ac7df3842ada4401e72f48a5a5a9c0f70b7fe24 (diff)
Dump start description as well when writing a regex dump
Diffstat (limited to 'src')
-rw-r--r--src/regex_impl.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/regex_impl.cc b/src/regex_impl.cc
index 73c9d074..a86f2824 100644
--- a/src/regex_impl.cc
+++ b/src/regex_impl.cc
@@ -1130,6 +1130,24 @@ String dump_regex(const CompiledRegex& program)
res += "match\n";
}
}
+ auto dump_start_desc = [&](CompiledRegex::StartDesc& desc, StringView name) {
+ res += name + " start desc: [";
+ for (size_t c = 0; c < CompiledRegex::StartDesc::count; ++c)
+ {
+ if (desc.map[c])
+ {
+ if (c < 32)
+ res += format("<0x{}>", Hex{c});
+ else
+ res += (char)c;
+ }
+ }
+ res += "]\n";
+ };
+ if (program.forward_start_desc)
+ dump_start_desc(*program.forward_start_desc, "forward");
+ if (program.backward_start_desc)
+ dump_start_desc(*program.backward_start_desc, "backward");
return res;
}