define
fun <V : PluginValue> define(create: (EditorSession) -> V, configure: PluginSpec<V>.() -> PluginSpec<V> = { this }): ViewPlugin<V>
Define a plugin from a factory function.
fun <V : PluginValue> define(create: (EditorSession) -> V, provide: (ViewPlugin<V>) -> Extension? = null, decorations: (V) -> DecorationSet? = null): ViewPlugin<V>
Define a plugin with direct parameter overloads, avoiding the configure = { copy(...) } pattern.
val myPlugin = ViewPlugin.define(
create = { session -> MyPlugin(session) },
decorations = { plugin -> plugin.decorations }
)Content copied to clipboard
Define a plugin from a spec.