D19367: SearchBar: Don't block GUI when enter incremental pattern
cullmann added a comment. I thought a bit about the problem with multi-line regex. I think we can solve this in a consistent way by allowing to incremental do matches that span more than one line. See the first example code in this commit: https://cgit.kde.org/ktexteditor.git/commit/?id=dbebf059575f83608c94ac3a6d374667b5a6 This would allow to handle multi-line regex matching just like normal matching, the search code would take care to on-demand concatenate enough lines for partial matches. REPOSITORY R39 KTextEditor REVISION DETAIL https://phabricator.kde.org/D19367 To: loh.tar, #ktexteditor, dhaumann, cullmann Cc: cullmann, kwrite-devel, kde-frameworks-devel, #ktexteditor, LeGast00n, GB_2, domson, michaelh, ngraham, bruns, demsking, sars, dhaumann
D19367: SearchBar: Don't block GUI when enter incremental pattern
cullmann added a comment. Simple tests with an 12 million lines document (COPYING.LIB concated "a lot") show compare to the current approach usable behavior. You start to type some word not in the document, it won't free for 10 seconds, it will just search in the background like it should. I think the largest existing issue is IMHO the multi line stuff. Some more comments could help. Should the const int newChunkOverlap = pattern.count(QLatin1Char('\n')); actually disable it for multi line searches? REPOSITORY R39 KTextEditor REVISION DETAIL https://phabricator.kde.org/D19367 To: loh.tar, #ktexteditor, dhaumann, cullmann Cc: cullmann, kwrite-devel, kde-frameworks-devel, #ktexteditor, domson, michaelh, ngraham, bruns, demsking, sars, dhaumann
D19367: SearchBar: Don't block GUI when enter incremental pattern
loh.tar edited the summary of this revision. REPOSITORY R39 KTextEditor REVISION DETAIL https://phabricator.kde.org/D19367 To: loh.tar, #ktexteditor, dhaumann, cullmann Cc: cullmann, kwrite-devel, kde-frameworks-devel, #ktexteditor, gennad, domson, michaelh, ngraham, bruns, demsking, sars, dhaumann
D19367: SearchBar: Don't block GUI when enter incremental pattern
loh.tar updated this revision to Diff 53752. loh.tar set the repository for this revision to R39 KTextEditor. loh.tar added a comment. - Fix autotest by add QTest::qWait(0) REPOSITORY R39 KTextEditor CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D19367?vs=53281=53752 REVISION DETAIL https://phabricator.kde.org/D19367 AFFECTED FILES autotests/src/searchbar_test.cpp src/search/katesearchbar.cpp src/search/katesearchbar.h To: loh.tar, #ktexteditor, dhaumann, cullmann Cc: cullmann, kwrite-devel, kde-frameworks-devel, #ktexteditor, gennad, domson, michaelh, ngraham, bruns, demsking, sars, dhaumann
D19367: SearchBar: Don't block GUI when enter incremental pattern
loh.tar updated this revision to Diff 53281. loh.tar retitled this revision from "[RFC]SearchBar: Don't block GUI when enter incremental pattern" to "SearchBar: Don't block GUI when enter incremental pattern". loh.tar edited the test plan for this revision. loh.tar added a comment. - Consider multi line pattern - Remove notes from Test Plan TODOs, but how? - Fix failing autotest - Add autotest for feature? CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D19367?vs=52728=53281 REVISION DETAIL https://phabricator.kde.org/D19367 AFFECTED FILES src/search/katesearchbar.cpp src/search/katesearchbar.h To: loh.tar, #ktexteditor, dhaumann, cullmann Cc: cullmann, kwrite-devel, kde-frameworks-devel, #ktexteditor, gennad, domson, michaelh, ngraham, bruns, demsking, sars, dhaumann