Runestone这个开源的iOS的代码编辑器很不错,不像以前那种用JS引擎实现的语法加亮,这个是原生Swift实现的:
借助GitHub开源的Tree-sitter解析代码成语法树
借鉴了.Net下SharpDevelop的编辑器AvalonEdit代码来管理代码行
借鉴了Atom编辑器用到的auto-detect-indentation来检测缩进
完整功能:
- 语法高亮。
- 显示行数。
- 突出显示选定的行。
- 显示不可见的字符(制表符、空格和换行符)。
- 插入字符对,例如在插入引号时插入尾部引号。
- 自定义颜色和字体。
- 打开或关闭换行功能。
- 调整行的高度。
- 添加一个页面指南。
- 添加垂直和水平的超滚动。
- 在文本视图中突出显示范围。
- 使用正则表达式搜索文本。
- 自动检测文件是否使用空格或制表符进行缩进。
- 指定插入换行时使用的行尾(CR, LF, CRLF)。
- 自动检测文本中的行结束符。
传送门:github.com/simonbs/Runestone
Prev Chapter:开发者常用的小工具包离线版
Next Chapter:一个兼容Kafka api的流处理平台:redpanda