diff options
| author | Maxime Coste <mawww@kakoune.org> | 2017-10-06 19:30:46 +0800 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2017-11-01 14:05:14 +0800 |
| commit | 236751cb84e9bdbf46f114f4f456760101618c06 (patch) | |
| tree | b4cb77385f0ea9b2264261452167fc286bb1ca35 /src/regex_impl.cc | |
| parent | 3b69dda04efb1e5ed9109d9fdebe2a73ee177b41 (diff) | |
Regex: Make ThreadedRegexVM a proper class, define a proper interface
Diffstat (limited to 'src/regex_impl.cc')
| -rw-r--r-- | src/regex_impl.cc | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/regex_impl.cc b/src/regex_impl.cc index de00ce87..17241064 100644 --- a/src/regex_impl.cc +++ b/src/regex_impl.cc @@ -931,7 +931,7 @@ auto test_regex = UnitTest{[]{ { TestVM vm{R"(^(foo|qux|baz)+(bar)?baz$)"}; kak_assert(vm.exec("fooquxbarbaz")); - kak_assert(StringView{vm.m_captures->pos[2], vm.m_captures->pos[3]} == "qux"); + kak_assert(StringView{vm.captures()[2], vm.captures()[3]} == "qux"); kak_assert(not vm.exec("fooquxbarbaze")); kak_assert(not vm.exec("quxbar")); kak_assert(not vm.exec("blahblah")); @@ -942,7 +942,7 @@ auto test_regex = UnitTest{[]{ { TestVM vm{R"(.*\b(foo|bar)\b.*)"}; kak_assert(vm.exec("qux foo baz")); - kak_assert(StringView{vm.m_captures->pos[2], vm.m_captures->pos[3]} == "foo"); + kak_assert(StringView{vm.captures()[2], vm.captures()[3]} == "foo"); kak_assert(not vm.exec("quxfoobaz")); kak_assert(vm.exec("bar")); kak_assert(not vm.exec("foobar")); @@ -988,11 +988,11 @@ auto test_regex = UnitTest{[]{ { TestVM vm{R"(f.*a(.*o))"}; kak_assert(vm.exec("blahfoobarfoobaz", false, true)); - kak_assert(StringView{vm.m_captures->pos[0], vm.m_captures->pos[1]} == "foobarfoo"); - kak_assert(StringView{vm.m_captures->pos[2], vm.m_captures->pos[3]} == "rfoo"); + kak_assert(StringView{vm.captures()[0], vm.captures()[1]} == "foobarfoo"); + kak_assert(StringView{vm.captures()[2], vm.captures()[3]} == "rfoo"); kak_assert(vm.exec("mais que fais la police", false, true)); - kak_assert(StringView{vm.m_captures->pos[0], vm.m_captures->pos[1]} == "fais la po"); - kak_assert(StringView{vm.m_captures->pos[2], vm.m_captures->pos[3]} == " po"); + kak_assert(StringView{vm.captures()[0], vm.captures()[1]} == "fais la po"); + kak_assert(StringView{vm.captures()[2], vm.captures()[3]} == " po"); } { @@ -1006,13 +1006,13 @@ auto test_regex = UnitTest{[]{ { TestVM vm{R"((a{3,5})a+)"}; kak_assert(vm.exec("aaaaaa", true, true)); - kak_assert(StringView{vm.m_captures->pos[2], vm.m_captures->pos[3]} == "aaaaa"); + kak_assert(StringView{vm.captures()[2], vm.captures()[3]} == "aaaaa"); } { TestVM vm{R"((a{3,5}?)a+)"}; kak_assert(vm.exec("aaaaaa", true, true)); - kak_assert(StringView{vm.m_captures->pos[2], vm.m_captures->pos[3]} == "aaa"); + kak_assert(StringView{vm.captures()[2], vm.captures()[3]} == "aaa"); } { @@ -1052,20 +1052,20 @@ auto test_regex = UnitTest{[]{ { TestVM vm{R"(foo\Kbar)"}; kak_assert(vm.exec("foobar", true, true)); - kak_assert(StringView{vm.m_captures->pos[0], vm.m_captures->pos[1]} == "bar"); + kak_assert(StringView{vm.captures()[0], vm.captures()[1]} == "bar"); kak_assert(not vm.exec("bar", true, true)); } { TestVM vm{R"((fo+?).*)"}; kak_assert(vm.exec("foooo", true, true)); - kak_assert(StringView{vm.m_captures->pos[2], vm.m_captures->pos[3]} == "fo"); + kak_assert(StringView{vm.captures()[2], vm.captures()[3]} == "fo"); } { TestVM vm{R"((?=foo).)"}; kak_assert(vm.exec("barfoo", false, true)); - kak_assert(StringView{vm.m_captures->pos[0], vm.m_captures->pos[1]} == "f"); + kak_assert(StringView{vm.captures()[0], vm.captures()[1]} == "f"); } { @@ -1111,7 +1111,7 @@ auto test_regex = UnitTest{[]{ { TestVM vm{R"($)"}; kak_assert(vm.exec("foo\n", false, true)); - kak_assert(*vm.m_captures->pos[0] == '\n'); + kak_assert(*vm.captures()[0] == '\n'); } }}; |
