Developer forums (C::B DEVELOPMENT STRICTLY!) > CodeCompletion redesign
Clang CC
yvesdm3000:
Yes TokenDatabase is used as a 'global' database, but does not contain everything.
When you'd look for references or anything else that would take some time, it should certainly show a dialog-box with a progress bar.
For the splitup, I've settled with an internal splitup to keep things organized and less spaghetti, so only 1 plugin but different components inside. The only drawback is that the toolbar is named 'ClangLib', which is an ugly name for it.
Yves
yvesdm3000:
Hi,
I've put a binary up on the GitHub page. This version is compiled for Ubuntu 15.10
Don't expect a speed-wonder, but it does work and doesn't stop the user from typing.
You'll also have to wait a little after startup since it will still be parsing the files in the background and obviously you can't have Code-Completion yet when the file is not yet parsed. One of the next steps to take is to cache Translation Units to disk so that next time you open the project, it can use cached values.
I also implemented the toolbar that is now using Clang and is mostly a copy of the toolbar from the regular CodeCompletion plugin but is obviously driven by data coming out of Clang. There are still some limitations in the toolbar but nothing that prevents you from using it.
Yves
yvesdm3000:
I just pushed some more commits to the master branch with some more fixes in it and also fixes for the inline diagnostics, and asynchronous documentation (this was still an operation that kept the UI hanging).
I'll put a new binary up soon, and look into building a binary for windows using MingW.
Yves
yvesdm3000:
Hi,
I added a .cbplugin file for ubuntu 15.10 to the 0.3 release page for your convenience.
https://github.com/yvesdm3000/ClangLib/releases/tag/0.3
Yves
yvesdm3000:
--- Quote from: l_inc on November 16, 2015, 12:59:02 pm ---yvesdm3000
--- Quote ---Obviously we can't assume users will always have enough memory to store that in memory, especially for pretty large projects.
--- End quote ---
Well, I have 16GBs in my work laptop, and I would appreciate an option to not drain my SSD of life with temporary stuff. Besides, you would still need to be able to handle low disk space situations, so why wouldn't you leverage the same out-of-space-avoidance mechanism in memory?
--- Quote --- it's better to have ALL files parsed into AST trees. [...] So for example 'goto implementation', it would first look in any TU in memory, if it can't find it, it would go into a slower mode and open each PCH file one by one and see if it can find what it's looking for.
--- End quote ---
Yes, and for the option of no on-disk ASTs it would be necessary to parse all the remaining TUs (a progress bar would make sense), but that's the price for not having enough cache space, no matter if it's on disk or in memory.
--- End quote ---
Hi l_inc,
I'm looking now at generating PCH files to accelerate the startup. I think I can manage to make this functionality optional since in any case I can never assume a PCH file is always available for any source file...
Yves
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version