forked from qt-creator/qt-creator
TextEditor: extract initilizing the generic highlighter
Change-Id: Ibdd37aeb761087118dd4974a06d82c0dbe1f1731 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -612,6 +612,7 @@ public:
|
||||
|
||||
void reconfigure();
|
||||
void updateSyntaxInfoBar(bool showInfo);
|
||||
void configureGenericHighlighter(const KSyntaxHighlighting::Definition &definition);
|
||||
|
||||
public:
|
||||
TextEditorWidget *q;
|
||||
@@ -3297,6 +3298,25 @@ void TextEditorWidgetPrivate::updateSyntaxInfoBar(bool showInfo)
|
||||
}
|
||||
}
|
||||
|
||||
void TextEditorWidgetPrivate::configureGenericHighlighter(
|
||||
const KSyntaxHighlighting::Definition &definition)
|
||||
{
|
||||
auto highlighter = new Highlighter();
|
||||
m_document->setSyntaxHighlighter(highlighter);
|
||||
|
||||
if (definition.isValid()) {
|
||||
highlighter->setDefinition(definition);
|
||||
m_commentDefinition.singleLine = definition.singleLineCommentMarker();
|
||||
m_commentDefinition.multiLineStart = definition.multiLineCommentMarker().first;
|
||||
m_commentDefinition.multiLineEnd = definition.multiLineCommentMarker().second;
|
||||
q->setCodeFoldingSupported(true);
|
||||
} else {
|
||||
q->setCodeFoldingSupported(false);
|
||||
}
|
||||
|
||||
m_document->setFontSettings(TextEditorSettings::fontSettings());
|
||||
}
|
||||
|
||||
bool TextEditorWidget::codeFoldingVisible() const
|
||||
{
|
||||
return d->m_codeFoldingVisible;
|
||||
@@ -8494,27 +8514,11 @@ QString TextEditorWidget::textAt(int from, int to) const
|
||||
|
||||
void TextEditorWidget::configureGenericHighlighter()
|
||||
{
|
||||
auto highlighter = new Highlighter();
|
||||
textDocument()->setSyntaxHighlighter(highlighter);
|
||||
|
||||
setCodeFoldingSupported(false);
|
||||
|
||||
const Highlighter::Definition definition = Highlighter::definitionForDocument(textDocument());
|
||||
|
||||
if (definition.isValid()) {
|
||||
highlighter->setDefinition(definition);
|
||||
d->m_commentDefinition.singleLine = definition.singleLineCommentMarker();
|
||||
d->m_commentDefinition.multiLineStart = definition.multiLineCommentMarker().first;
|
||||
d->m_commentDefinition.multiLineEnd = definition.multiLineCommentMarker().second;
|
||||
|
||||
setCodeFoldingSupported(true);
|
||||
}
|
||||
|
||||
d->configureGenericHighlighter(definition);
|
||||
d->updateSyntaxInfoBar(!definition.isValid()
|
||||
&& !TextEditorSettings::highlighterSettings().isIgnoredFilePattern(
|
||||
textDocument()->filePath().fileName()));
|
||||
|
||||
textDocument()->setFontSettings(TextEditorSettings::fontSettings());
|
||||
}
|
||||
|
||||
int TextEditorWidget::blockNumberForVisibleRow(int row) const
|
||||
|
Reference in New Issue
Block a user