33个稳定版本

5.7.0 2023年12月22日
5.6.6 2023年7月30日
5.6.4 2023年4月15日
5.6.3 2022年9月3日
4.3.4 2020年11月22日

#589解析器实现中排名

Download history 75/week @ 2024-03-13 52/week @ 2024-03-20 108/week @ 2024-03-27 163/week @ 2024-04-03 124/week @ 2024-04-10 57/week @ 2024-04-17 70/week @ 2024-04-24 62/week @ 2024-05-01 62/week @ 2024-05-08 47/week @ 2024-05-15 43/week @ 2024-05-22 75/week @ 2024-05-29 81/week @ 2024-06-05 76/week @ 2024-06-12 44/week @ 2024-06-19 39/week @ 2024-06-26

250每月下载量
用于3个crate(2个直接使用)

MIT许可协议

1.5MB
46K SLoC

C 45K SLoC // 0.0% comments JavaScript 688 SLoC // 0.0% comments Scheme 76 SLoC // 0.1% comments Rust 38 SLoC

Build Status

Elm tree sitter

我为什么要做这个?

我相信Elm可以从更好的工具中获益,最终目标是实现语言服务器集成。这是可能的构建块之一。

它带来了什么

  • 非常快的解析,应该能够实现每按一个键就进行解析。
  • 具有弹性,即使你使用了错误的语法,文件的大部分内容也应该仍然被正确识别。
  • 对elm atom维护者也应该很有用,因为atom正在使用tree sitter作为新的默认代码高亮工具(我们的ast可能过于表达)。如果需要,还需要完成高亮实现。

这个测试的是什么?

这个测试针对的是仓库中包含的测试以及

因此,它应该适用于相当一部分代码。目前没有测试的是错误情况下的行为。

谢谢

非常非常感谢@klazuka和intellij-elm团队,因为我基本上借鉴了他们创建解析器的方式,除了GLSL实现。

想要帮忙吗?

帮助编写一些测试或简单地找到无法解析的有效elm文件。测试位于test文件夹中,分为解析器测试和高亮测试。

依赖项

~2.8–4MB
~72K SLoC