1 个不稳定版本

0.0.4 2024年7月30日

#133文本编辑器

Download history 130/week @ 2024-07-26 16/week @ 2024-08-02

146 每月下载量

MIT 许可证

130KB
3.5K SLoC

C 3.5K SLoC JavaScript 191 SLoC // 0.0% comments Scheme 41 SLoC // 0.1% comments Rust 29 SLoC // 0.3% comments

tree-sitter-perm

支持由 Permify 用于 tree-sitter 的 Perm 授权语言的语法高亮

状态

我相信语法和高亮都是完整的。与 permify 文档中的 mercury 和 notion 示例进行了检查。如果有一些难搞的 perm 文件无法正常工作,请告诉我,我会努力使其正确工作(或打开 issue/PR)。

待办事项

  • 添加所有规则的测试
  • 添加高亮的测试
  • 添加 CONTRIBUTING 文档
  • 添加如何在本地运行和测试的说明

用法

Neovim

手动安装

在你的 Neovim 的 treesitter 配置中,你需要将 perm 文件扩展名注册到 Neovim,并使用 nvim-treesitter 手动配置解析器。你可以将以下片段添加到你的配置中

vim.filetype.add({
    extension = {
        perm = "perm",
    }
})

local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
parser_config.perm = {
  install_info = {
    url = 'https://github.com/theoriginalstove/tree-sitter-perm', -- local path or git repo
    files = {"src/parser.c"}, -- note that some parsers also require src/scanner.c or src/scanner.cc
  },
}

vim.treesitter.language.register('perm','perm')

然后源配置或重新加载 Neovim 并运行 :TSInstall perm

然后应启用 .perm 文件的语法高亮

Zed

遵循 Perm Zed 扩展仓库 中的手动安装说明

Helix

[!note] TODO:添加将解析器安装到 Helix 文本编辑器的说明

GNU Emacs

[!note] TODO:添加将解析器安装到 Emacs 文本编辑器的说明

依赖项

~2.8–4MB
~72K SLoC