TextEditor::SyntaxHighlighter *KateHighlighter::create(QTextDocument *doc, const QString &mimeType) { Highlighter *h = new Highlighter(doc); //reset(h); QString id = Manager2::instance()->definitionIdByMimeType(mimeType); QSharedPointer<HighlightDefinition> def = Manager2::instance()->definition(id); if (def) { h->setDefaultContext(def->initialContext()); } return h; }
void PlainTextEditorWidget::configure(const Core::MimeType &mimeType) { Highlighter *highlighter = new Highlighter(); baseTextDocument()->setSyntaxHighlighter(highlighter); setCodeFoldingSupported(false); if (!mimeType.isNull()) { m_isMissingSyntaxDefinition = true; const QString &type = mimeType.type(); setMimeType(type); QString definitionId = Manager::instance()->definitionIdByMimeType(type); if (definitionId.isEmpty()) definitionId = 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.setAfterWhiteSpaces(definition->isCommentAfterWhiteSpaces()); m_commentDefinition.setSingleLine(definition->singleLineComment()); m_commentDefinition.setMultiLineStart(definition->multiLineCommentStart()); m_commentDefinition.setMultiLineEnd(definition->multiLineCommentEnd()); setCodeFoldingSupported(true); } } else if (editorDocument()) { const QString &fileName = editorDocument()->fileName(); if (TextEditorSettings::instance()->highlighterSettings().isIgnoredFilePattern(fileName)) m_isMissingSyntaxDefinition = false; } } setFontSettings(TextEditorSettings::instance()->fontSettings()); emit configured(editor()); }