mattwparas / helix

A post-modern modal text editor.
https://helix-editor.com
Mozilla Public License 2.0
34 stars 0 forks source link

Ghost text API support for Copilot-like functionality #11

Open freref opened 1 week ago

freref commented 1 week ago

First of all, amazing work on the plugin system and Steel. I'd like to build a Copilot-like plugin showing ghost/preview text suggestions in insert mode. Would need:

Main questions:

Before starting: would this kind of functionality be welcome in Helix?

mattwparas commented 1 week ago

Ghost text should be possible to build at the plugin layer, I don't think there is an API for it yet. In theory you'd just need the dimensions of the current buffer window so that you can draw text with a different style. The component API should be sufficiently flexible to do the displaying with styling, alongside handling inputs for accepting and rejecting the suggestion, and for inserting whatever text should go there as well

As far as I can tell, you wouldn't need much functionality in Rust to achieve this, just the dimensions of the buffer window, which is probably fine to expose to steel. Given that, I think it should be fine to go forward with an implementation