-
Notifications
You must be signed in to change notification settings - Fork 46
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
company mode blocking and therefore unusable #159
Comments
Well I had to disabled company mode for nim in general because of the blocking performance issue. |
Please update nim-mode. Now it should work (or maybe better than before) |
I am testing it right now, I will inform you when about how it works out. |
ping @krux02 |
just FYI, I added log function on latest nim-mode. (let ((level :debug))
(setq warning-minimum-level level
warning-minimum-log-level level)) It may help to distinguish the problem is really auto-completion or not. |
Thank you for your information, and I am very happy to see that there is some momentum in nim-mode again. I will check it out. |
Started having this issue as well. |
I to had issues with company-mode. Since this is my first adventure in elisp world take everything with a grain of salt. If you want to investigate the problem by yourself follow these steps: Step 1: is to enable logging: Step 2: If you want to debug emacs you can enable Step 3: Check the nim-log buffer. Step 4: Add to In my case, running nimssugest with the For the best nim-mode experience:
Hope this could prove useful for someone. |
@BontaVlad you suggested to use flymake and flycheck. I never used flymake. I don't know what it really is, but I have the impression it tries to do the same thing as flycheck and therefore should not be used at the same time. I guess I am wrong here, so how does flycheck and flymake actually interact with each other? |
@krux02 Yes you are right, that was a bad wording on my part. Flycheck and flymake will step on each others tows. At first I chose flymake(the nim-mode source comments recommends it), while I liked the fast feedback is not as well supported(gui stuff) in spacemacs so I switched back to flycheck. If you stick with flycheck, set the checker to nimsuggest, you already using nimssugest for completion, jump at def etc, so you might as well use it for linting. |
@BontaVlad s comment helped me solve my problem in spacemacs. when I open a file initially company-diag reports it's using the company-capf backend which is indeed unusable. So thanks @BontaVlad |
@twillis how big are the files you work with? Company mode with nimsuggest-mode works in small files, but as soon as the file as a certain size, it is just unusable to work with. |
@krux02 less than 100 lines, this is just something I found when working through Nim in Action. |
@twillis well I have often more than 1000 lines of code. And I can tell you that even with company-mode disabled nim-mode is often blocking my input. I continue to disable more and more features from nim-mode to keep it usable in my project. |
@BontaVlad Thank you! This resolved the issue for me. it took a long time to track this issue down as this issue was not high on my google ranking. Perhaps we can remove |
You can set this variable by |
@BontaVlad This happened to me as well, but how do I permanently set it to |
If you want to avoid capf stuff on (advice-add 'nim-capf-setup :override
(lambda ()
(when (bound-and-true-p company-backends)
(add-to-list 'company-backends 'company-nimsuggest)))) I'm not sure why you need to disable and re-enable nimsuggest-mode though. |
@igna92ts are you putting nim-mode configuration before your company-mode's configuration? if so, please move your nim-mode configuration to after company-mode's configuration because the |
@yuutayamada, I have the same problem as @igna92ts, even though my nim config comes after my company config. Any thoughts as to why? Also worth noting that after I disable and re-enable |
As described here: nim-lang/nim-mode#159, company-capf makes nim-mode unusable. I am replacing it with company-nimsuggest as it is much more responsive. The reason I elected not to leave company-capf in as a backup is that it would somehow still make it to the car of company-backends, regardless of position at assignment, thus becoming the default completion backend. Given that no functionality is lost this way, and that nimsuggest is now part of the core nim installation (https://github.com/nim-lang/nimsuggest), I do not think anything has been sacrificed.
As described here: nim-lang/nim-mode#159, company-capf makes nim-mode unusable. I am replacing it with company-nimsuggest as it is much more responsive. The reason I elected not to leave company-capf in as a backup is that it would somehow still make it to the car of company-backends, regardless of position at assignment, thus becoming the default completion backend. Given that no functionality is lost this way, and that nimsuggest is now part of the core nim installation (https://github.com/nim-lang/nimsuggest), I do not think anything has been sacrificed.
As described here: nim-lang/nim-mode#159, company-capf makes nim-mode unusable. I am replacing it with company-nimsuggest as it is much more responsive. The reason I elected not to leave company-capf in as a backup is that it would somehow still make it to the car of company-backends, regardless of position at assignment, thus becoming the default completion backend. Given that no functionality is lost this way, and that nimsuggest is now part of the core nim installation (https://github.com/nim-lang/nimsuggest), I do not think anything has been sacrificed.
As described here: nim-lang/nim-mode#159, company-capf makes nim-mode unusable. I am replacing it with company-nimsuggest as it is much more responsive. The reason I elected not to leave company-capf in as a backup is that it would somehow still make it to the car of company-backends, regardless of position at assignment, thus becoming the default completion backend. Given that no functionality is lost this way, and that nimsuggest is now part of the core nim installation (https://github.com/nim-lang/nimsuggest), I do not think anything has been sacrificed.
As described here: nim-lang/nim-mode#159, company-capf makes nim-mode unusable. I am replacing it with company-nimsuggest as it is much more responsive. The reason I elected not to leave company-capf in as a backup is that it would somehow still make it to the car of company-backends, regardless of position at assignment, thus becoming the default completion backend. Given that no functionality is lost this way, and that nimsuggest is now part of the core nim installation (https://github.com/nim-lang/nimsuggest), I do not think anything has been sacrificed.
As described here: nim-lang/nim-mode#159, company-capf makes nim-mode unusable. I am replacing it with company-nimsuggest as it is much more responsive. The reason I elected not to leave company-capf in as a backup is that it would somehow still make it to the car of company-backends, regardless of position at assignment, thus becoming the default completion backend. Given that no functionality is lost this way, and that nimsuggest is now part of the core nim installation (https://github.com/nim-lang/nimsuggest), I do not think anything has been sacrificed.
something must be wrong with the company mode integration. Whenever I edit non trivial Nim files, emacs blocks input for several seconds until it continues working. Therefore I am constantly forced to disable company mode for nim files.
The text was updated successfully, but these errors were encountered: