我可以使用哪些库来突出显示 C# 中的流行语言的语法?
What libraries can I use for syntax highlighting popular languages in C#?
我有兴趣在 C# 中为 Android 创建一个代码编辑器应用程序(使用 Xamarin)。显然,任何出色的代码编辑器的必需品之一就是为各种流行语言提供语法高亮显示。我不想自己为所有这些语言编写自定义分词器,所以我正在寻找一个已经有它们语法的库。
我浏览 VSCode editor source code, I know that there are many predefined grammar files for certain languages, in .tmLanguage
(TextMate-style) or .cson
(Atom-style) format. For example, here are a bunch of grammars maintained by Atom, and here 是 .NET 基金会维护的官方 C# 语法。
我最初寻找一个 .NET 库来解析这些文件并允许我将它们与表达式匹配,但 AFAICS none 存在。 vscode-textmate or textpow 之类的东西正是我要找的东西,但它们不是用 .NET 编写的。
任何人都可以指出可以帮助我实现此目的的图书馆吗?另外,如果我找不到任何函数,使用 .NET JavaScript engine 执行上述库中的函数是否是个好主意?通常我会毫不犹豫地使用引擎,但恐怕延迟几百毫秒对于语法高亮来说是不可接受的。
对于我当前的一个项目,我研究了可用的语法分析器。其中之一是 ANTLR,这里有一篇关于如何在 C# 中使用它的文章:https://tomassetti.me/getting-started-with-antlr-in-csharp/
它有一个非常大的(超过 100 个)不同语言的预构建语法集合:https://github.com/antlr/grammars-v4
ANTLR 是基于 Java 的,所以我想让它在 Android 上运行不是问题。
我有兴趣在 C# 中为 Android 创建一个代码编辑器应用程序(使用 Xamarin)。显然,任何出色的代码编辑器的必需品之一就是为各种流行语言提供语法高亮显示。我不想自己为所有这些语言编写自定义分词器,所以我正在寻找一个已经有它们语法的库。
我浏览 VSCode editor source code, I know that there are many predefined grammar files for certain languages, in .tmLanguage
(TextMate-style) or .cson
(Atom-style) format. For example, here are a bunch of grammars maintained by Atom, and here 是 .NET 基金会维护的官方 C# 语法。
我最初寻找一个 .NET 库来解析这些文件并允许我将它们与表达式匹配,但 AFAICS none 存在。 vscode-textmate or textpow 之类的东西正是我要找的东西,但它们不是用 .NET 编写的。
任何人都可以指出可以帮助我实现此目的的图书馆吗?另外,如果我找不到任何函数,使用 .NET JavaScript engine 执行上述库中的函数是否是个好主意?通常我会毫不犹豫地使用引擎,但恐怕延迟几百毫秒对于语法高亮来说是不可接受的。
对于我当前的一个项目,我研究了可用的语法分析器。其中之一是 ANTLR,这里有一篇关于如何在 C# 中使用它的文章:https://tomassetti.me/getting-started-with-antlr-in-csharp/
它有一个非常大的(超过 100 个)不同语言的预构建语法集合:https://github.com/antlr/grammars-v4
ANTLR 是基于 Java 的,所以我想让它在 Android 上运行不是问题。