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.