Skip to content

API Cookbook

这一页汇总了一组可以直接复制的常见接入配方。

加载文本

kotlin
controller.loadText(
    """
    fun main() {
        println("Hello")
    }
    """.trimIndent()
)

加载文件

kotlin
controller.loadFile("/absolute/path/to/file.kt")

应用主题和设置

kotlin
val appearance = rememberEditorAppearance(darkMode = true)

LaunchedEffect(controller, appearance) {
    controller.applyTheme(appearance.theme)
    controller.applySettings(EditorSettings())
}

设置语言配置

kotlin
controller.setLanguageConfiguration(configuration)

附加编辑器 Metadata

kotlin
controller.setMetadata(
    EditorMetadata(
        entries = mapOf(
            "fileName" to "Main.kt",
            "language" to "kotlin",
        )
    )
)

注册 Decoration Provider

kotlin
controller.addDecorationProvider(myDecorationProvider)

注册 Completion Provider

kotlin
controller.addCompletionProvider(myCompletionProvider)

提供 Gutter Icon

kotlin
controller.setEditorIconProvider(myIconProvider)

显示 Inline Suggestion

kotlin
controller.inlineSuggestions().show(
    InlineSuggestion(
        line = 4,
        column = 12,
        text = "println(value)",
    )
)

手动触发 Completion

kotlin
controller.triggerCompletion()

关闭 Completion

kotlin
controller.dismissCompletion()

监听编辑器事件

kotlin
val subscription = controller.events().subscribe<TextChangedEvent> { event ->
    println(event.editResult)
}

不再需要监听时,记得释放对应的订阅。

SweetEditor 文档站由 VitePress 驱动。