Autocomplete-plus hooks for more extensibility


I’ve been trying to extend off the package but not as a provider and it’s been really hard to hook into the things I want to hook into. I heard the Autocomplete-plus folk are working on some major changes so maybe this can fit in there.

It’d be great to be able to get control of the suggestions-list-element element and be able to put it where I want to without losing the key bindings like the arrow keys. The second request actually could be a change in behavior instead of a hook. I’m trying to show the text of a suggestion item when it gets selected. I do it as part of a separate ui. It’d be weird if it happened when a person was in the middle of typing but it could happen just when they triggered autocomplete manually. Pressing esc would return it to the original text. If not that then it’d also be great to be able to stop the list from being hidden/closed sometimes so that I could build in that kind of functionality. Some kind of ability to confirm without closing autocomplete.

Another part has to do with the data. The best scenario would be if i could send in some text/prefix and a scope descriptor and get back an a list of all the suggestion stuff including the suggestion element. I’ve looked at the code of some of the providers and it won’t work with some of them. They don’t listen to the prefix and the scope descriptor at all. They just analyze the editor themselves. A lot of new things get made all the time though and future providers could plan for it. I also know that getting back the suggestions is pretty nested and hard to extract right now, but I have some ideas of how to break out those parts. I could work on separating other stuff too.

TL;DR Being able to take control of the movement of the list, either a change in how item scanning works or allowing control/aborting of closing/hiding, and being able to send in text and scope and get back suggestions.

I’ve done some exploring and have more details so if anyone wants more info about what I’ve tried I’ll go into it.