-
Notifications
You must be signed in to change notification settings - Fork 309
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
Launch one thread per file. #274
base: master
Are you sure you want to change the base?
Conversation
That thread is re-used when re-launching a completion.
In the last commit, I've pushed nearly all the code into the threads. The completion is also done asynchronously, and so nothing is blocking the UI. The main benefit is that completion is now done as you type, instead of "slow" on-demand. @TobiG: to push the "format" into the thread, we need to rewrite the snippet API in python, and also drop snipmate (which is not developped anymore). In fact, the change you made to #250, would be perfect. I'm very interested in feedback, bugs (there is probably a lot), and improvement :) |
On 02/19/2013 08:16 AM, Xavier Deguillard wrote:
I cannot test the code due to pyeval use. Tobi |
Ok, pyeval can easily be removed here. Will do. |
Done. |
On 02/21/2013 04:02 AM, Xavier Deguillard wrote:
I tried it. It is an interesting experiment and it However, I believe we should make this feature optional. I can see that Regarding your patches, I assume they are not meant to be pushed. I Tobi |
Here one of the errors I see:
|
Yes, I don't intend to merge that code as-is :), and yes there is preliminary work that should be done. I believe that enabling that code with g:clang_complete_auto should be a good idea. Again this is only an experiment so it's probably only working for me, on my specific configuration. About the error you're seeing, I remember getting the same error when there was a syntax error in the thread (yes...). Once that syntax error was fixed, the error was gone. |
This code is not intended to be pushed as-it, my plan is to move nearly all the code inside the thread, and to avoid freezing the UI by returning as soon as possible to vim. Combined with fast regular polling, that will allow us to continue a completion even when the user is typing!
Fix issue #267, and when everything is in place, will also fix #245.