6 个版本
0.4.0 | 2023年11月29日 |
---|---|
0.3.0 | 2023年11月28日 |
0.1.3 | 2021年12月10日 |
0.1.2 | 2021年11月30日 |
#168 in 文本编辑器
54 每月下载量
用于 foam-highlighter
375KB
12K SLoC
Tree-Sitter 的 OpenFOAM 语法
该项目处于早期开发阶段;预计会有很多变化
免责声明:此产品未获得 OpenCFD Limited 的批准或认可,OpenCFD Limited 是 OpenFOAM 软件的生产商和分销商,也是 OPENFOAM® 和 OpenCFD® 商标的拥有者。
这是一个通用的 容错 解析器,用于 OpenFOAM 案例字典。目标是达到一个“足够好”的状态,以便进行语法高亮和可行符号提取。
功能
- 对 OpenFOAM IO 条目的语义理解(字典、键值对等)
- 语法高亮(主要针对 nvim-treesitter)
- 高亮 C++ 代码块和正则表达式,如果您的客户端没有自动安装这些解析器,您可能需要手动安装
- 具有作用域感知(按字典划分),尽管目前尚未使用
- 用于与 NeoVim 的 TreeSitter textobjects 插件 一起使用的字典和键值对文本对象
- 用于与 NeoVim 的 TreeSitter textsubjects 插件 一起使用的文本主题
- 基于表达式的折叠
运行测试
- 解析和突出显示的单元测试(突出显示在
tree-sitter highlight
和nvim-treesitter
之间不一致)使用tree-sitter test
执行(检查test
文件夹) testOFFiles.sh $FOAM_TUTORIALS
解析教程目录中的所有 OpenFOAM 字典- 目前,解析器几乎可以处理所有 OpenFOAM 8 和 Foam-Extend 4 教程文件(嗯,有些文件有源码错误!)
贡献
- 欢迎拉取请求!
- 而且,我不会支持特定的关键字高亮(例如,
scalarField
将永远不会被特别处理),除非我发现一种“无人照看”的方法来做这件事。
依赖关系
~2.7–4MB
~71K SLoC