语法高亮

语法高亮包使用 TextMate 规则进行代码高亮,这被许多流行应用程序(如 VSCode)所使用。目前支持的语言是 Dart 和 YAML,但通过在 grammar 目录中放置新的语法文件,可以轻松扩展语言支持。

用法

在使用 Highligher 类之前,需要对其进行初始化。初始化将加载请求的语法文件并进行解析。

// Initialize the highlighter.
await Highlighter.initialize(['dart', 'yaml']);

接下来,加载一个主题并创建一个高亮器。

// Load the default light theme and create a highlighter.
var theme = await HighlighterTheme.loadLightTheme();
var highlighter = Highlighter(
  language: 'dart',
  theme: theme,
);

现在,您可以通过调用 highlight 方法来高亮您的代码。highlight 方法将返回一个 TextSpan,您可以在 Text 小部件中使用它。

Widget build(BuildContext context) {
  var highlightedCode = highligher.highlight(myCodeString);
  return Text.rich(highlightedCode);
}

高亮代码示例: 高亮代码

GitHub

查看 Github