From dfe2495d9a2d1633dd5e238bd31b12959c2e236d Mon Sep 17 00:00:00 2001
From: Nicolas Werner <nicolas.werner@hotmail.de>
Date: Sun, 30 May 2021 00:25:45 +0200
Subject: [PATCH] Optimize completion model by only splitting on normal spaces

---
 src/CompletionProxyModel.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/CompletionProxyModel.cpp b/src/CompletionProxyModel.cpp
index 412708a24..e68944c7e 100644
--- a/src/CompletionProxyModel.cpp
+++ b/src/CompletionProxyModel.cpp
@@ -19,7 +19,7 @@ CompletionProxyModel::CompletionProxyModel(QAbstractItemModel *model,
   , max_completions_(max_completions)
 {
         setSourceModel(model);
-        QRegularExpression splitPoints("\\s+|-");
+        QChar splitPoints(' ');
 
         // insert all the full texts
         for (int i = 0; i < sourceModel()->rowCount(); i++) {
@@ -48,7 +48,7 @@ CompletionProxyModel::CompletionProxyModel(QAbstractItemModel *model,
                                  .toString()
                                  .toLower();
 
-                for (const auto &e : string1.split(splitPoints)) {
+                for (const auto &e : string1.splitRef(splitPoints)) {
                         if (!e.isEmpty()) // NOTE(Nico): Use Qt::SkipEmptyParts in Qt 5.14
                                 trie_.insert(e.toUcs4(), i);
                 }
@@ -59,7 +59,7 @@ CompletionProxyModel::CompletionProxyModel(QAbstractItemModel *model,
                                  .toLower();
 
                 if (!string2.isEmpty()) {
-                        for (const auto &e : string2.split(splitPoints)) {
+                        for (const auto &e : string2.splitRef(splitPoints)) {
                                 if (!e.isEmpty()) // NOTE(Nico): Use Qt::SkipEmptyParts in Qt 5.14
                                         trie_.insert(e.toUcs4(), i);
                         }
-- 
GitLab