Hi Harutyun,
Thanks for the reply.
I'm currently using Ace Editor via the GWT wrapper, and in truth, I have very little experience hardcore DOM manipulation with JavaScript (although of course the language itself is not so difficult to understand) so my preferred approach for everything is to have a clean and clear ACE API hook that operates on a data structure in which to implement everything rather than writing new JavaScript functions within the GWT wrapper.
With regard to the cursor snapback / snippets, thanks for the tip, but my feeling is that it is much simply just to add the entries to the API, and then no bespoke JavaScript code will be required at all from the context of the GWT wrapper. Everything is just data again (apart from the callback). If you don't need the functionality, you just don't provide the fields, if you need them, then no bespoke snippets are required. The snippet example also has a problem that it requires the snapbackamount and snapback selection range to be provided from somewhere, and they can only be provided at a per-entry level, so we still require those fields in the data structure I would think. I know how to provide this via the getProposals() /addCompletor() but unfamiliar with how to wire up snippets via the wrapper. Having a single API for completion (as per the image below) is as easy as it gets from a system integrators perspective.
Similarly, the tooltip, which you recommend as being implemented with an absolutely positioned DIV, well yes, it could be. I would ask if this could be added in a way similar to my original request. To me, all three of these attributes are so generic that I feel it benefits all for them to be added so everyone can benefit from a good default implementation (my own implementation would be terrible, as I have very little experience with JavaScript / DOM manipulation).
If you can find a way to work these options into the product in future releases, I would be grateful. The alternative it seems is adding some hacks into the GWT wrapper to support the desired generic functionality, and I very much dislike hacking.
This is how clean the current approach is (in GWT):

On a autocompletion event, I simply add instances of this class to a list, and I have complete control over the autocompletions. It is devastatingly simple. No JavaScript involved from my own codebase - the wrapper takes care of it.
Adding three fields to this class and having ACE be able to display tooltips and snapback automatically from the additional values is by far the cleanest outcome from my own perspective but that is perhaps because I'm a selfish Java programmer ;-).
If you are firm that the functionality cannot be added or should not be added at the library level, then I will of course investigate workarounds at the wrapper level (although I'm not sure if the wrapper maintainer will accept these changes if they don't directly map core functionality).
Thank you very much for your work on this project, I am very grateful for the amazing contributions you have made to this library along with David Hovemeyer's excellent work on keeping the wrapper up-to-date so that GWT users can join the party..
Regards,
Chris