Herb

强大且无缝的 HTML 感知 ERB 解析与工具链。

下一代 HTML+ERB 解析,为更智能的开发者工具和更多功能而生。

Documentation Playground GitHub

Herb

🧩

HTML-aware (HTML 感知)

智能地识别和导航 ERB 模板中的 HTML 结构,确保在交错的标记和 Ruby 代码中进行精确解析。

💎

Built on Prism (基于 Prism 构建)

由 Prism 提供支持,Prism 是 Ruby 3.4 的新的官方默认解析器。 Prism 旨在容错,并已被包括 CRuby、JRuby、TruffleRuby 在内的主要 Ruby 运行时采用。

🚑

Error-Tolerant (容错)

旨在优雅地处理错误,即使遇到语法错误也能提供准确的结果。

Engineered for Speed (为速度而设计)

解析输入的速度足够快,可以在每次击键时更新,从而确保文本编辑器和其他工具中的实时响应。

📏

Whitespace-Aware (空格感知)

在解析结果中准确地保留空格和格式。

🔌

LSP-Ready (LSP 就绪)

与 Language Server Protocols (LSP) 无缝协作,可在现代编辑器中获得更好的体验。

🎯

Precise Position Tracking (精确定位跟踪)

跟踪精确的位置,精确到每个节点和 token 的单个字符偏移量,从而实现精确的调试、注释和诊断。

🌎

Works Across Languages (跨语言支持)

Ruby、JavaScript/TypeScript 和其他高级编程语言的本地绑定。

🏗️

Expanding Template Language Support (扩展模板语言支持)

未来的更新将通过统一的解析器和语法树架构扩展到 ERB 之外,该架构在不同的模板语言中保持一致的 API。

Released under the MIT License. Copyright © 2024 Marco Roth and the Herb Contributors.