Runestone 使用 GitHub 的 Tree-sitter 将代码解析为语法树,该语法树用于需要理解编辑器中代码的功能,例如语法高亮。
请参考文档中的快速上手文章和认识 Runestone系列教程。
所有公共类型的文档可在 docs.runestone.app 上查阅。该文档是使用 Apple 的 DocC 文档编译器从 Swift 代码生成的。
Runestone 的构建目标是快速。其良好的性能在很大程度上归功于 Tree-sitter 的增量解析和 AvalonEdit 管理文档中行的方法。
在评估 Runestone 的性能时,关键是以发布配置构建您的应用程序。当打开大型文档时,使用发布配置时编译器应用的优化会变得非常明显。
该项目在 Mac 上应该可以与 Catalyst 大部分兼容,但是,它尚未经过全面测试,并且实现尚未完成。目前的重点是 iPhone 和 iPad。
Runestone 框架被同名应用程序使用。 Runestone 应用程序是一款适用于 iPhone 和 iPad 的纯文本编辑器,它使用了此框架的所有功能。
非常感谢包含错误修复和新功能的 Pull Request。我将很乐意审查并在它们准备就绪后合并它们,只要它们包含符合 Runestone 愿景并提供普遍有用的功能的更改。
克隆存储库以开始从事该项目。请注意,Runestone 通过子模块依赖于 Tree-sitter。在构建 Runestone 之前,也必须克隆此子模块。克隆存储库时传递 --recursive
选项以克隆所有子模块。
git clone --recursive git@github.com:simonbs/Runestone.git