
Offers an embeddable code editor with syntax highlighting and editing capabilities, suitable for integrating into applications needing text editing features.
A selection of Kotlin Multiplatform Compose components, for JVM (desktop), JS and Wasm.
| Module | Contents |
|---|---|
code-editor-api |
API for the code editor and viewer: editor interfaces, segment styles, margin items, autocomplete, find/replace state, text decorations |
code-editor |
DSL code editor and read-only code viewer, with autocomplete and find/replace |
components |
Splitter, Table, Tree, Vertical Tabs, Combo, Titled Box, Text Input dialog, alert dialog with issues, mutable state-flow holders |
layout-multipane |
Multipane layout: tabbed panes in nested splits, with drag-and-drop between panes |
layout-graph |
Graph layout: Sugiyama layout and compound (nested) graph layout with a pluggable child layout algorithm |
These modules are demos only and are not published: code-editor-demo-js and layout-graph-demo.
The Gradle project is in the net.akehurst.kotlin.compose/ folder, so run Gradle from there.
It depends on net.akehurst.kotlinx (nak-kotlinx in gradle/libs.versions.toml). When that is a -SNAPSHOT version, build it from
dhakehurst/net.akehurst.kotlinx with publishToMavenLocal first.
cd net.akehurst.kotlin.compose
./gradlew assemble
./gradlew jvmTest # JVM tests (use jvmTest, not test)The JVM window demos live in each module's src/jvmDemo source set and run with a run<Name>Demo task:
./gradlew :code-editor:runCodeEditorDemo
./gradlew :components:runTableViewDemo
./gradlew :components:runTreeViewDemo
./gradlew :layout-multipane:runMultiPaneLayoutDemo
./gradlew :layout-graph-demo:run # compound graph layout scenarios
./gradlew :code-editor-demo-js:jsBrowserDevelopmentRun # code editor in the browser, then open the printed URLDesign notes for the graph layout are in net.akehurst.kotlin.compose/5_Documentation/graph-layout.
A selection of Kotlin Multiplatform Compose components, for JVM (desktop), JS and Wasm.
| Module | Contents |
|---|---|
code-editor-api |
API for the code editor and viewer: editor interfaces, segment styles, margin items, autocomplete, find/replace state, text decorations |
code-editor |
DSL code editor and read-only code viewer, with autocomplete and find/replace |
components |
Splitter, Table, Tree, Vertical Tabs, Combo, Titled Box, Text Input dialog, alert dialog with issues, mutable state-flow holders |
layout-multipane |
Multipane layout: tabbed panes in nested splits, with drag-and-drop between panes |
layout-graph |
Graph layout: Sugiyama layout and compound (nested) graph layout with a pluggable child layout algorithm |
These modules are demos only and are not published: code-editor-demo-js and layout-graph-demo.
The Gradle project is in the net.akehurst.kotlin.compose/ folder, so run Gradle from there.
It depends on net.akehurst.kotlinx (nak-kotlinx in gradle/libs.versions.toml). When that is a -SNAPSHOT version, build it from
dhakehurst/net.akehurst.kotlinx with publishToMavenLocal first.
cd net.akehurst.kotlin.compose
./gradlew assemble
./gradlew jvmTest # JVM tests (use jvmTest, not test)The JVM window demos live in each module's src/jvmDemo source set and run with a run<Name>Demo task:
./gradlew :code-editor:runCodeEditorDemo
./gradlew :components:runTableViewDemo
./gradlew :components:runTreeViewDemo
./gradlew :layout-multipane:runMultiPaneLayoutDemo
./gradlew :layout-graph-demo:run # compound graph layout scenarios
./gradlew :code-editor-demo-js:jsBrowserDevelopmentRun # code editor in the browser, then open the printed URLDesign notes for the graph layout are in net.akehurst.kotlin.compose/5_Documentation/graph-layout.