Skip to content

English | 简体中文

SweetEditor ​

一个面向 Compose Multiplatform 的多功能代码编辑器库 ​

基于 C++17 原生内核与 Compose Multiplatform 封装,适用于 IDE、AI 编程工具、云开发工作区等需要长期演进的编辑器基础设施。

欢迎提交 Issue 和 Pull Request。

C++17PlatformsLicense


当前仓库仍处于开发阶段,请在使用时留意版本变化。

功能特性 ​

  • [x] 原生编辑器内核(C++17)与 Compose Multiplatform 封装
  • [x] 跨平台目标:Android、iOS、JVM Desktop、JS、Wasm
  • [x] 基于 render model 的架构(viewport、scroll metrics、cursor/selection rects)
  • [x] 语法高亮 / 语义高亮渲染,支持批量样式注册
  • [x] 装饰系统:inlay hints、phantom text、gutter icons、diagnostics
  • [x] 结构化辅助渲染:缩进引导线、括号引导线、流程引导线、分隔线、折叠区域
  • [x] 丰富的可视反馈:fold markers、linked-editing 高亮、括号高亮、活动滚动条、指针光标提示
  • [x] 基于 0-based 行列语义的光标与选区操作
  • [x] 选区拖拽手柄状态回调、命中目标回调、上下文菜单请求回调
  • [x] 基础编辑能力:插入、替换、删除、退格、向前删除
  • [x] 行操作:上移/下移行、复制行、删除行、在上方/下方插入新行
  • [x] Undo / Redo 栈集成
  • [x] 代码片段插入与 linked-editing 会话支持
  • [x] 补全能力:provider API、补全弹窗定位、条目选择、可自定义条目渲染
  • [x] IME 组合输入生命周期:start / update / end / cancel
  • [x] 手势事件与键盘事件桥接到原生输入模型
  • [x] 支持从 UTF-16 文本和文件路径加载文档
  • [x] 只读模式、自动换行模式、自动缩进模式、gutter 显示/吸附等设置
  • [x] 可配置外观系统:主题内容加载、字体配置、当前行渲染模式、行距、折叠箭头模式

Core Library ​

本项目使用的原生编辑器 core 基于开源仓库 OpenSweetEditor:

截图 ​

Android
Android 截图
iOS
iOS 截图
Desktop
Desktop 截图
Web
Web 截图

贡献者 ​

许可证 ​

SweetEditor 使用 GNU Lesser General Public License v2.1 or later(LGPL-2.1+)开源协议,并附带一个额外的 Static Linking Exception 作为补充说明。

Star History ​

Star History Chart

SweetEditor documentation site powered by VitePress.