Subject: Re: bug#16334: 24.3.50; company-capf eats the first char in IELM filename completions

From: Stefan Monnier <[email-masked]>
Date: Fri, 10 Jan 2014 09:58:24 -0500

> A list of segments would a natural choice, but I was thinking about a
> more radical change: allowing backends to handle the completion styles.

I guess the backend could provide a property which would cause
completion--nth-completion to just pass the request to the completion-table.

That would be an easy change in minibuffer.el.  But I'd first like to
see how that would work out on the backend side: it might turn out to be
pretty difficult to make it work well, or at least it might require
exposing more of minibuffer.el's code (i.e. turn some "--" into "-",
which implies thinking hard about whether that's really an API with
which we want to live for a long time).

Unless it is used to override the completion-styles: the omnisharp
completion could simply ignore completion-styles and use its own
omnisharp-server-provided behavior.

> Firstly, one might prefer to see candidates for several styles, ranked
> and merged, like described here:
> https://github.com/company-mode/company-mode/issues/45#issuecomment-31564029

That sounds like a request that applies to all backends, i.e. is only
part of the UI.

> The main problem with this approach would be to make sure frontends can
> handle not knowing which style was used to find a given completion
> candidate.

Currently the only UI which uses completion-styles indeed has no idea
which style was used and that hasn't been a problem.  In general,
I can't see why that info would be necessary.

        Stefan