diff options
author | jkobus <jaroslaw.kobus@digia.com> | 2013-08-14 13:52:13 +0200 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@digia.com> | 2013-08-29 08:54:04 +0200 |
commit | 33a7952745571576fb955fd33bc96e86f0e456fd (patch) | |
tree | e9eae74813d85ce1bcb75fbe73d9d4916ce62531 /src/plugins/texteditor/plaintexteditor.cpp | |
parent | a06da47d5b74f9d680b2201e218c1df87f023faa (diff) | |
download | qt-creator-33a7952745571576fb955fd33bc96e86f0e456fd.tar.gz |
Implement syntax highlighting in diff editor
All Qt Creator's main highlighters are used in the first place,
for other mimetypes generic highlighter is used as a fallback.
Task-number: QTCREATORBUG-9580
Change-Id: I863b9085520e5bdda142ce88f2074afeacee0531
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
Diffstat (limited to 'src/plugins/texteditor/plaintexteditor.cpp')
-rw-r--r-- | src/plugins/texteditor/plaintexteditor.cpp | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/src/plugins/texteditor/plaintexteditor.cpp b/src/plugins/texteditor/plaintexteditor.cpp index 61103b7bbf..a5fe10c3d9 100644 --- a/src/plugins/texteditor/plaintexteditor.cpp +++ b/src/plugins/texteditor/plaintexteditor.cpp @@ -125,20 +125,19 @@ void PlainTextEditorWidget::configure(const Core::MimeType &mimeType) if (!mimeType.isNull()) { m_isMissingSyntaxDefinition = true; + highlighter->setMimeType(mimeType); const QString &type = mimeType.type(); setMimeType(type); QString definitionId = Manager::instance()->definitionIdByMimeType(type); if (definitionId.isEmpty()) - definitionId = findDefinitionId(mimeType, true); + definitionId = Highlighter::findDefinitionId(mimeType, true); if (!definitionId.isEmpty()) { m_isMissingSyntaxDefinition = false; const QSharedPointer<HighlightDefinition> &definition = Manager::instance()->definition(definitionId); if (!definition.isNull() && definition->isValid()) { - highlighter->setDefaultContext(definition->initialContext()); - m_commentDefinition.isAfterWhiteSpaces = definition->isCommentAfterWhiteSpaces(); m_commentDefinition.singleLine = definition->singleLineComment(); m_commentDefinition.multiLineStart = definition->multiLineCommentStart(); @@ -163,23 +162,6 @@ bool PlainTextEditorWidget::isMissingSyntaxDefinition() const return m_isMissingSyntaxDefinition; } -QString PlainTextEditorWidget::findDefinitionId(const Core::MimeType &mimeType, - bool considerParents) const -{ - QString definitionId = Manager::instance()->definitionIdByAnyMimeType(mimeType.aliases()); - if (definitionId.isEmpty() && considerParents) { - definitionId = Manager::instance()->definitionIdByAnyMimeType(mimeType.subClassesOf()); - if (definitionId.isEmpty()) { - foreach (const QString &parent, mimeType.subClassesOf()) { - const Core::MimeType &parentMimeType = - Core::ICore::mimeDatabase()->findByType(parent); - definitionId = findDefinitionId(parentMimeType, considerParents); - } - } - } - return definitionId; -} - void PlainTextEditorWidget::acceptMissingSyntaxDefinitionInfo() { ICore::showOptionsDialog(Constants::TEXT_EDITOR_SETTINGS_CATEGORY, |