diff options
| author | Maxime Coste <mawww@kakoune.org> | 2018-11-04 12:01:29 +1100 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2018-11-04 12:01:29 +1100 |
| commit | b4571bd1721abeedb5baf27c059e0fbcff7802a5 (patch) | |
| tree | 39ff5728c9ea78674c68180f9fc3ef13a99970ba /src | |
| parent | 4ac7df3842ada4401e72f48a5a5a9c0f70b7fe24 (diff) | |
Dump start description as well when writing a regex dump
Diffstat (limited to 'src')
| -rw-r--r-- | src/regex_impl.cc | 18 |
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; } |
