Aardink
Aardink is a production-ready Compose code editing toolkit for Android, published as an open-source Maven module by Aardarch.
It combines high-performance document and token pipelines with a polished editor UI so you can ship in-app editing experiences without building your own editor stack from scratch.
Why teams choose Aardink
- Compose-native editor architecture designed for Android apps
- Incremental tokenization and language services for responsive editing at scale
- Built-in diagnostics, completion, folding, hover docs, and diff rendering primitives
- Customizable themes, gutters, and keyboard toolbar behavior for mobile-first UX
- Modular package layout with clean separation between editor and language layers
Add to your project
Gradle (Kotlin DSL with version catalog)
Declare the dependency in gradle/libs.versions.toml:
[versions]
aardink = "0.2.0"
[libraries]
aardink = { module = "org.aardarch:aardink", version.ref = "aardink" } Then reference it from your module's build.gradle.kts:
dependencies {
implementation(libs.aardink)
} Maven
<dependency>
<groupId>org.aardarch</groupId>
<artifactId>aardink</artifactId>
<version>0.2.0</version>
</dependency> Feature walkthrough
- Start with editor state: initialize
CodeEditorStateand your tokenizer strategy to drive document updates and rendering. - Render the editor UI: use
CodeEditorLayoutto enable line numbers, gutter markers, folding, diagnostic annotations, and optional diff indicators. - Enable language intelligence: wire in
LanguageService, completion items, and hover docs to provide context-aware assistance. - Tune the editing workflow: configure find/replace, undo/redo behavior, and keyboard toolbar placement for your target user flow.
- Apply your brand: style the experience with
EditorTheme, built-in theme presets, or parsed VS Code theme JSON.
Module walkthrough
Aardink is organized into modules so you can adopt only what you need:
- editor — core document/editor state models plus Compose UI components for the full editing surface.
- languages — language definitions, registries, and bundled tokenizers/services for common formats.
API reference
Browse the API reference — 12 packages, 64 classes.
Jump straight to module overviews: editor · languages
Source
The module's source code is hosted on GitHub.