forked from qt-creator/qt-creator
TextEditor: add convenient definition for document function
Change-Id: I8bbaec71a4682e36d3919924932b410e2e9d74a9 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
#include <coreplugin/messagemanager.h>
|
||||
#include <utils/mimetypes/mimedatabase.h>
|
||||
|
||||
#include <Format>
|
||||
#include <Repository>
|
||||
@@ -99,6 +100,17 @@ Highlighter::Highlighter()
|
||||
&categoryForTextStyle);
|
||||
}
|
||||
|
||||
KSyntaxHighlighting::Definition Highlighter::definitionForDocument(const TextDocument *document)
|
||||
{
|
||||
const Utils::MimeType mimeType = Utils::mimeTypeForName(document->mimeType());
|
||||
KSyntaxHighlighting::Definition definition;
|
||||
if (mimeType.isValid())
|
||||
definition = Highlighter::definitionForMimeType(mimeType.name());
|
||||
if (!definition.isValid())
|
||||
definition = Highlighter::definitionForFileName(document->filePath().fileName());
|
||||
return definition;
|
||||
}
|
||||
|
||||
KSyntaxHighlighting::Definition Highlighter::definitionForMimeType(const QString &mimeType)
|
||||
{
|
||||
return highlightRepository()->definitionForMimeType(mimeType);
|
||||
|
@@ -34,12 +34,14 @@
|
||||
|
||||
namespace TextEditor {
|
||||
class FontSettings;
|
||||
class TextDocument;
|
||||
|
||||
class Highlighter : public SyntaxHighlighter, public KSyntaxHighlighting::AbstractHighlighter
|
||||
{
|
||||
public:
|
||||
Highlighter();
|
||||
|
||||
static KSyntaxHighlighting::Definition definitionForDocument(const TextDocument *document);
|
||||
static KSyntaxHighlighting::Definition definitionForMimeType(const QString &mimeType);
|
||||
static KSyntaxHighlighting::Definition definitionForFileName(const QString &fileName);
|
||||
|
||||
|
@@ -8499,14 +8499,8 @@ void TextEditorWidget::configureGenericHighlighter()
|
||||
|
||||
setCodeFoldingSupported(false);
|
||||
|
||||
const QString type = textDocument()->mimeType();
|
||||
const MimeType mimeType = Utils::mimeTypeForName(type);
|
||||
const QString fileName = textDocument()->filePath().fileName();
|
||||
KSyntaxHighlighting::Definition definition;
|
||||
if (mimeType.isValid())
|
||||
definition = Highlighter::definitionForMimeType(mimeType.name());
|
||||
if (!definition.isValid())
|
||||
definition = Highlighter::definitionForFileName(fileName);
|
||||
const KSyntaxHighlighting::Definition definition =
|
||||
Highlighter::definitionForDocument(textDocument());
|
||||
|
||||
if (definition.isValid()) {
|
||||
highlighter->setDefinition(definition);
|
||||
@@ -8518,7 +8512,8 @@ void TextEditorWidget::configureGenericHighlighter()
|
||||
}
|
||||
|
||||
d->updateSyntaxInfoBar(!definition.isValid()
|
||||
&& !TextEditorSettings::highlighterSettings().isIgnoredFilePattern(fileName));
|
||||
&& !TextEditorSettings::highlighterSettings().isIgnoredFilePattern(
|
||||
textDocument()->filePath().fileName()));
|
||||
|
||||
textDocument()->setFontSettings(TextEditorSettings::fontSettings());
|
||||
}
|
||||
|
Reference in New Issue
Block a user