aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2024-03-06 15:10:15 +0100
committerEike Ziller <eike.ziller@qt.io>2024-03-06 15:10:15 +0100
commit8abc95331f1dddafb07c691857d3519829acb4ef (patch)
tree4b7b3f506917028540aa3df17d27d4534c8857c3 /src/plugins/texteditor
parentdb5ac2dc15f0ac607c03416e538ae2ffc5482467 (diff)
parent7b8f274b9e3956a2e8668f932ee9717f96568678 (diff)
Merge remote-tracking branch 'origin/13.0'
Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs src/plugins/cppeditor/cppcodemodelsettings.cpp src/plugins/cppeditor/cppcodemodelsettings.h Change-Id: I54937c39b06897a72a105e4e0a8b5f8a76c38e26
Diffstat (limited to 'src/plugins/texteditor')
-rw-r--r--src/plugins/texteditor/TextEditor.json.in12
-rw-r--r--src/plugins/texteditor/texteditor.cpp19
2 files changed, 26 insertions, 5 deletions
diff --git a/src/plugins/texteditor/TextEditor.json.in b/src/plugins/texteditor/TextEditor.json.in
index 5fbf3e3067..447d9c91c6 100644
--- a/src/plugins/texteditor/TextEditor.json.in
+++ b/src/plugins/texteditor/TextEditor.json.in
@@ -15,5 +15,15 @@
"Category" : "Core",
"Description" : "Text editor framework and the implementation of the basic text editor.",
"Url" : "http://www.qt.io",
- ${IDE_PLUGIN_DEPENDENCIES}
+ ${IDE_PLUGIN_DEPENDENCIES},
+ "Mimetypes" : [
+ "<?xml version='1.0'?>",
+ "<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>",
+ " <mime-type type='text/vnd.qtcreator.devicetree.source'>",
+ " <comment>Device tree source files</comment>",
+ " <sub-class-of type='text/plain'/>",
+ " <glob pattern='*.dts' weight='80'/>",
+ " </mime-type>",
+ "</mime-info>"
+ ]
}
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp
index baf027d124..3256ee91b7 100644
--- a/src/plugins/texteditor/texteditor.cpp
+++ b/src/plugins/texteditor/texteditor.cpp
@@ -3552,6 +3552,7 @@ void TextEditorWidget::restoreState(const QByteArray &state)
QTC_ASSERT(documentLayout, return);
documentLayout->requestUpdate();
documentLayout->emitDocumentSizeChanged();
+ d->updateCursorPosition();
}
};
if (!singleShotAfterHighlightingDone(foldingRestore))
@@ -4153,10 +4154,17 @@ void TextEditorWidgetPrivate::highlightSearchResults(const QTextBlock &block, co
l = match.capturedLength();
if (l == 0)
break;
- if ((m_findFlags & FindWholeWords)
- && ((idx && text.at(idx-1).isLetterOrNumber())
- || (idx + l < text.length() && text.at(idx + l).isLetterOrNumber())))
- continue;
+ if (m_findFlags & FindWholeWords) {
+ auto posAtWordSeparator = [](const QString &text, int idx) {
+ if (idx < 0 || idx >= text.length())
+ return false;
+ const QChar c = text.at(idx);
+ return !c.isLetterOrNumber() && c != QLatin1Char('_');
+ };
+ if (!posAtWordSeparator(text, idx - 1) || !posAtWordSeparator(text, idx + l))
+ continue;
+ }
+
const int start = blockPosition + idx;
const int end = start + l;
@@ -6696,6 +6704,9 @@ void TextEditorWidget::ensureBlockIsUnfolded(QTextBlock block)
void TextEditorWidgetPrivate::toggleBlockVisible(const QTextBlock &block)
{
+ if (q->singleShotAfterHighlightingDone([this, block] { toggleBlockVisible(block); }))
+ return;
+
auto documentLayout = qobject_cast<TextDocumentLayout*>(q->document()->documentLayout());
QTC_ASSERT(documentLayout, return);