Skip to content

Copilot / Inline Suggestion ​

SweetEditor provides a Compose-side inline suggestion layer built around phantom text.

Main Types ​

  • InlineSuggestion
  • InlineSuggestionController
  • InlineSuggestionListener

Show A Suggestion ​

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

Built-in Interaction ​

When a suggestion is visible:

  • Tab accepts it
  • Escape dismisses it
  • the action bar can also accept or dismiss it

Listen For Accept / Dismiss ​

kotlin
controller.inlineSuggestions().setListener(
    object : InlineSuggestionListener {
        override fun onSuggestionAccepted(suggestion: InlineSuggestion) {
            println("accepted: ${suggestion.text}")
        }

        override fun onSuggestionDismissed(suggestion: InlineSuggestion) {
            println("dismissed: ${suggestion.text}")
        }
    }
)

Notes ​

  • Inline suggestion is currently implemented in the Compose/Kotlin layer
  • It does not require C++ core changes
  • Rendering is driven through phantom text decoration updates

SweetEditor documentation site powered by VitePress.