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在解析器实现中排名
250每月下载量
用于3个crate(2个直接使用)
1.5MB
46K SLoC
Elm tree sitter
我为什么要做这个?
我相信Elm可以从更好的工具中获益,最终目标是实现语言服务器集成。这是可能的构建块之一。
它带来了什么
- 非常快的解析,应该能够实现每按一个键就进行解析。
- 具有弹性,即使你使用了错误的语法,文件的大部分内容也应该仍然被正确识别。
- 对elm atom维护者也应该很有用,因为atom正在使用tree sitter作为新的默认代码高亮工具(我们的ast可能过于表达)。如果需要,还需要完成高亮实现。
这个测试的是什么?
这个测试针对的是仓库中包含的测试以及
- elm-spa-example
- 来自这里的所有核心elm包
因此,它应该适用于相当一部分代码。目前没有测试的是错误情况下的行为。
谢谢
非常非常感谢@klazuka和intellij-elm团队,因为我基本上借鉴了他们创建解析器的方式,除了GLSL实现。
想要帮忙吗?
帮助编写一些测试或简单地找到无法解析的有效elm文件。测试位于test
文件夹中,分为解析器测试和高亮测试。
依赖项
~2.8–4MB
~72K SLoC