Skip to content

lumkit/SweetEditor-Compose

Repository files navigation

English | 简体中文

SweetEditor

A Multifunctional code editor library for compose multiplatform

A C++17 core with platform-native rendering, built for long-term evolving editor infrastructure in IDEs, AI programming tools, cloud development workspaces, and similar products.

Issues and pull requests are welcome.

To check out all docs, please visit: Documentation Site

C++17 Platforms License Maven Central


This repository is still in the development stage, so please pay attention.

Features

  • Native editor kernel (C++17) with Compose Multiplatform wrapper
  • Cross-platform targets: Android, iOS, JVM Desktop, JS, Wasm
  • Render-model driven architecture (viewport, scroll metrics, cursor/selection rects)
  • Syntax/semantic span rendering with batch style registration
  • Decoration pipeline: inlay hints, phantom text, gutter icons, diagnostics
  • Guide and structure rendering: indent guides, bracket guides, flow guides, separator guides, fold regions
  • Rich visual affordances: fold markers, linked-editing highlights, bracket highlights, active scrollbars, pointer cursor hints
  • Cursor and selection operations with 0-based line/column semantics
  • Selection handle drag state callbacks, hit-target reporting, and context-menu request callbacks
  • Editing primitives: insert, replace, delete, backspace, delete-forward
  • Line operations: move/copy line up/down, delete line, insert line above/below
  • Undo/redo stack integration
  • Snippet insertion and linked-editing session support
  • Completion pipeline with provider API, popup anchoring, item selection, and custom item renderer
  • IME composition lifecycle: start/update/end/cancel
  • Gesture and key event bridge to native input model
  • Document loading from UTF-16 text and file path
  • Read-only mode, wrap mode, auto-indent mode, gutter visibility/sticky options
  • Configurable appearance: theme content loading, font configuration, current-line render mode, line spacing, fold arrow mode

Core Library

The native editor core used by this project is based on the open-source OpenSweetEditor repository:

Screenshots

Android
Android screenshot
IOS
IOS screenshot
Desktop
Desktop screenshot
Web
Web screenshot

Contributors

License

SweetEditor is licensed under the GNU Lesser General Public License v2.1 or later (LGPL-2.1+), with an additional Static Linking Exception provided as a supplementary clarification.

Star History

Star History Chart

About

A Multifunctional code editor library for compose multiplatfrom(It is not the BasicTextField enhancement)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages