Sarcasm / company-irony

company-mode completion back-end for irony-mode
118 stars 11 forks source link

company-irony breaks irony-snippet-expand #16

Closed zakkak closed 8 years ago

zakkak commented 8 years ago

When using irony without company-irony I get completion as expected and snippets work fine. On the other hand when using company-irony snippets are not working.

Any ideas?

zakkak commented 8 years ago

Well, reading #13 (should have read it earlier), I understand that I need the yas-minor-mode enabled for it to work. However, how comes and it works fine with the vanilla irony completion even with yas-mode disabled?

Sarcasm commented 8 years ago

However, how comes and it works fine with the vanilla irony completion even with yas-mode disabled?

Hum, that's disturbing. Vanilla completion is completion-at-point? What does the snippet looks like? The vanilla completion does not use snippets at all, so I don't see how it could work. A screenshot would be appreciated.

zakkak commented 8 years ago

Sorry for being unclear. By vanilla completion I mean the completion provided by irony-mode without using the company-irony package (but still using company, if that matters).

Sarcasm commented 8 years ago

Hum, what company backend is displayed in the mode line? company-clang or company-capf or something else?

zakkak commented 8 years ago

The enabled minor modes are:

Enabled minor modes: Abbrev Auto-Composition Auto-Compression
Auto-Encryption Blink-Cursor Column-Number Company Company-Statistics
Delete-Selection Eldoc Electric-Indent File-Name-Shadow Flx-Ido
Flycheck Flyspell Font-Lock Global-Auto-Revert Global-Company
Global-Font-Lock Global-Undo-Tree Global-Whitespace Guide-Key
Ido-Everywhere Ido-Ubiquitous Ido-Vertical Irony Irony-Eldoc
Line-Number Mouse-Wheel Override-Global Pdf-Occur-Global
Rainbow-Delimiters Show-Smartparens Show-Smartparens-Global Smart-Tabs
Smartparens Smartparens-Global Tex-Pdf Tex-Source-Correlate
Transient-Mark Undo-Tree Whole-Line-Or-Region Xclip Xterm-Mouse Yas

And the company-backends are:

company-backends is a variable defined in `company.el'.
Its value is (company-bbdb company-nxml company-css company-eclim company-semantic company-clang company-xcode company-cmake company-capf
          (company-dabbrev-code company-gtags company-etags company-keywords)
          company-oddmuse company-files company-dabbrev)

So i guess it is company-clang that gets in the way.

Sarcasm commented 8 years ago

I guess so, you can see it in the mode-line, when completion is active "company" will be renamed to "company-xxx", where xxx is the backend in use.

Anyway, here the conclusion is that, in one case you get something like company-clang with company snippets, and in the other case you use company-irony, which uses yasnippet-only for now, which needs to be enabled. A nice thing would be to support company templates as a snippet mechanism in addition to yasnippet, I never got to do it.

zakkak commented 8 years ago

I guess so, you can see it in the mode-line, when completion is active "company" will be renamed to company-xxx", where xxx is the backend in use.

No, that's not the case I just see company in the mode-line no matter the backend (maybe it's my mode-line configuration).

Anyway, here the conclusion is that, in one case you get something like company-clang with company snippets, and in the other case you use company-irony, which uses yasnippet-only for now, which needs to be enabled. A nice thing would be to support company templates as a snippet mechanism in addition to yasnippet, I never got to do it.

Unfortunately I am not familiar with company mode and its mechanisms so I cannot help here.

Thanks for tracing this :)