SyntaxHighlighter constructor
SyntaxHighlighter({})
Implementation
SyntaxHighlighter({
required this.language,
required this.editorTheme,
this.baseTextStyle,
this.languageId,
this.extraLanguages = const [],
String? documentText,
}) {
_langId = language.hashCode.toString();
_resolvedTheme = _buildResolvedTheme(editorTheme);
_highlight = Highlight();
_highlight.registerLanguage(_langId, language);
_registeredExtraLanguages = <Mode>[...extraLanguages];
for (final lang in _registeredExtraLanguages) {
_registerLanguageWithAliases(_highlight, lang);
}
_semanticMapping = getSemanticMapping(languageId ?? '');
_blockCommentModes = <Mode>[];
_collectBlockCommentModes(language, _blockCommentModes, <Mode>{});
_blockCommentPatterns = [
for (final mode in _blockCommentModes)
if (_modeRegExp(mode.begin) case final begin?)
if (_modeRegExp(mode.end) case final end?) (begin: begin, end: end),
];
if (documentText != null) {
_documentText = documentText;
_setDocumentText(documentText);
}
}