#语法高亮 #高亮 #解析器 #OpenFOAM #增量

tree-sitter-foam

Tree-Sitter 解析库的 OpenFOAM 语法

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 文本编辑器

Download history 6/week @ 2024-03-09 1/week @ 2024-03-16 16/week @ 2024-03-30 1/week @ 2024-04-06 34/week @ 2024-04-13 1/week @ 2024-04-20

54 每月下载量
用于 foam-highlighter

MIT 许可证

375KB
12K SLoC

C 12K SLoC // 0.0% comments JavaScript 176 SLoC // 0.2% comments Scheme 84 SLoC // 0.1% comments Rust 37 SLoC // 0.3% comments

Tree-Sitter 的 OpenFOAM 语法

该项目处于早期开发阶段;预计会有很多变化

免责声明:此产品未获得 OpenCFD Limited 的批准或认可,OpenCFD Limited 是 OpenFOAM 软件的生产商和分销商,也是 OPENFOAM® 和 OpenCFD® 商标的拥有者。

OpenFOAM dictionary syntax highlighting

这是一个通用的 容错 解析器,用于 OpenFOAM 案例字典。目标是达到一个“足够好”的状态,以便进行语法高亮和可行符号提取。

功能

  • 对 OpenFOAM IO 条目的语义理解(字典、键值对等)
  • 语法高亮(主要针对 nvim-treesitter
  • 高亮 C++ 代码块和正则表达式,如果您的客户端没有自动安装这些解析器,您可能需要手动安装
  • 具有作用域感知(按字典划分),尽管目前尚未使用
  • 用于与 NeoVim 的 TreeSitter textobjects 插件 一起使用的字典和键值对文本对象
  • 用于与 NeoVim 的 TreeSitter textsubjects 插件 一起使用的文本主题
  • 基于表达式的折叠

运行测试

  • 解析和突出显示的单元测试(突出显示在 tree-sitter highlightnvim-treesitter 之间不一致)使用 tree-sitter test 执行(检查 test 文件夹)
  • testOFFiles.sh $FOAM_TUTORIALS 解析教程目录中的所有 OpenFOAM 字典
    • 目前,解析器几乎可以处理所有 OpenFOAM 8 和 Foam-Extend 4 教程文件(嗯,有些文件有源码错误!)

贡献

  • 欢迎拉取请求!
  • 而且,我不会支持特定的关键字高亮(例如,scalarField 将永远不会被特别处理),除非我发现一种“无人照看”的方法来做这件事。

依赖关系

~2.7–4MB
~71K SLoC