1 files changed, 12 insertions, 1 deletions
diff --git a/src/CompletionProxyModel.h b/src/CompletionProxyModel.h
index 91f937a4..f4ec6a96 100644
--- a/src/CompletionProxyModel.h
+++ b/src/CompletionProxyModel.h
@@ -3,6 +3,7 @@
// Class for showing a limited amount of completions at a time
#include <QAbstractProxyModel>
+#include <QRegularExpression>
#include "CompletionModelRoles.h"
#include "Logging.h"
@@ -136,6 +137,7 @@ public:
: QAbstractProxyModel(parent)
{
setSourceModel(model);
+ QRegularExpression splitPoints("\\s+|-");
for (int i = 0; i < sourceModel()->rowCount(); i++) {
if (i < 7)
@@ -148,14 +150,23 @@ public:
.toLower();
trie_.insert(string1.toUcs4(), i);
+ for (const auto &e : string1.split(splitPoints, Qt::SkipEmptyParts)) {
+ trie_.insert(e.toUcs4(), i);
+ }
+
auto string2 =
sourceModel()
->data(sourceModel()->index(i, 0), CompletionModel::SearchRole2)
.toString()
.toLower();
- if (!string2.isEmpty())
+ if (!string2.isEmpty()) {
trie_.insert(string2.toUcs4(), i);
+ for (const auto &e :
+ string2.split(splitPoints, Qt::SkipEmptyParts)) {
+ trie_.insert(e.toUcs4(), i);
+ }
+ }
}
connect(
|