New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Weird behavior with merged backends involving company-yasnippet #485
Comments
|
Hi! Is that a problem in practice? The |
|
Perhaps there is some way of configuring the backends that I am overlooking. The issue I'm having arrises when writing a program in c and using a struct, after typing |
|
How do you figure |
|
I suppose now that I think about it, and after looking through the code a bit, this behavior does make the most sense in the context of the way grouped backends are operating. I don't think it makes sense to change the way Anyways, thanks for bearing with me as I try to figure this out (I'm still a bit of a noob with lisp), but I hope the bug I came across (and hopefully fixed with #491) might make up for it :) |
|
So what you wanted is to track the backends that think I don't know. It makes some kind of sense, but then, won't be user be surprised when completions from the rest of the backends show up right after she uses some completion command? |
|
Yeah that would be another aspect to having grouped backends behave this way that would make the experience less consistent, as one typically expects the candidates to be narrowed as they enter in more text, however this kind of functionality would potentially increase the number of candidates presented as more text is entered which would be counterintuitive. Now that I think about this more, I don't see much sense in trying to implement it, and to be honest, I am fine with my current setup, that uses (I am fine with having this closed if you see nothing more that might need to be addressed) |
|
Yes, the topic seems exhausted. Thanks for the discussion. |
…eparately This should help with #1398, #641, #553, #485, #1147, #840 With some of the above already closed, and some describing more serious scenarios than others. Anyway, this is a halfway step to dropping framework-level caching (or moving it to backends). For now this seems like an adequate solution, given that the most "heavy" backend these days is `company-capf`, which disables caching already. Though `company-dabbrev-code` is a close next.
…eparately (#1405) * company--multi-backend-adapter: Consider min prefix in 'candidates' separately This should help with #1398, #641, #553, #485, #1147, #840 With some of the above already closed, and some describing more serious scenarios than others. Anyway, this is a halfway step to dropping framework-level caching (or moving it to backends). For now this seems like an adequate solution (resetting the cache sometimes when the new chars are typed), given that the most "heavy" backend these days is `company-capf`, which disables caching already. Though `company-dabbrev-code` is a close next. Uses new semi-private backend action called 'set-min-prefix', to keep the merging function's backward compatibility, for the sake of external callers.
|
Turns out this could be managed inside the framework. Check out the latest master. |
I'm experiencing unexpected behavior when I have a merged backend involving
company-yasnippet. The issue seems to generally happen whenever there is a special completion case where the backend merged yasnippet (call backend-x) returns (PREFIX . t) overridingcompany-minimum-prefix-lengthWhen this happens, if yasnippet is after backend-x, then I will see every snippet inyas-describe-tablesas a possible completion. However if yasnippet is before backend-x, then I will not see any completion candidates until aftercompany-minimum-prefix-lengthcharacters have been typed.The specific cases in which I have experienced this is with
company-ycmdandcompany-semanticwhere the special completion cases are after the triggers.or::or->have been typed.The text was updated successfully, but these errors were encountered: