用于语法高亮的 tree-sitter 语言集合。
此包包含一个二进制框架 CodeLanguagesContainer.xcframework,它将所有 tree-sitter 语言捆绑到一个二进制文件中,从而大大减少 SPM 包解析时间。
这些语言随后以 CodeLanguage 的形式提供。
此包严重依赖于 SwiftTreeSitter,由 Matt Massicotte 开发。
包含如何添加对新语言支持的指南的文档可在此处找到!
有几个 语言语法 可用于 tree-sitter。 CodeEditLanguages 已经支持其中的许多语法。 为了使用这些语法的语法高亮,它们需要提供一个 highlights.scm 文件。 尚未存在此文件的语法在下面标记为not available。 此文件必须直接添加到语法的仓库中。
为了添加对其他语言的支持,我们提供了一个完整的指南,说明如何在 CodeEditLanguages 中实现它们,可在此处找到。
如果您想添加对另一种语言的支持,请首先提交一个 issue,以便每个人都知道正在进行中。
| 语法 | 已实现 | 语法高亮 |
|---|---|---|
| Agda | ✅ | not available |
| Bash | ✅ | ✅ |
| C | ✅ | ✅ |
| C++ | ✅ | ✅ |
| C# | ✅ | ✅ |
| CSS | ✅ | ✅ |
| Dart | ✅ | ✅ |
| Dockerfile | ✅ | ✅ |
| Elixir | ✅ | ✅ |
| ERB, EJS | ||
| Go | ✅ | ✅ |
| Haskell | ✅ | ✅ |
| HTML | ✅ | ✅ |
| Java | ✅ | ✅ |
| JavaScript/JSX | ✅ | ✅ |
| JSDoc | ✅ | ✅ |
| JSON | ✅ | ✅ |
| Julia | ✅ | not available |
| Kotlin | ✅ | ✅ |
| Lua | ✅ | ✅ |
| Markdown | ✅ | ✅ |
| Objective C | ✅ | ✅ |
| OCaml | ✅ | ✅ |
| Plain Text | ✅ | not available |
| Perl | ✅ | not available |
| PHP | ✅ | ✅ |
| Python | ✅ | ✅ |
| Regex | ✅ | ✅ |
| Ruby | ✅ | ✅ |
| Rust | ✅ | ✅ |
| Scala | ✅ | ✅ |
| Sql | ✅ | ✅ |
| Swift | ✅ | ✅ |
| TOML | ✅ | ✅ |
| TypeScript/TSX | ✅ | ✅ |
| Verilog | ✅ | not available |
| YAML | ✅ | ✅ |
| Zig | ✅ | ✅ |
| CodeEdit |
CodeEditSourceEditor |
CodeEditTextView |
CodeEditCLI |
CodeEditKit |