On Thu, 18 Nov 2010 09:34:03 +1100, Lex wrote:
On 18 November 2010 04:05, Colomban Wendling lists.ban@herbesfolles.org wrote:
Le 17/11/2010 15:54, Nick Treleaven a écrit :
On Tue, 16 Nov 2010 17:32:01 +0100 Simone Pellegrini spellegrini@dps.uibk.ac.at wrote:
I really like geany as it uses scintilla, the only feature I feel is missing is the intellisense like code competition for C++. I would like to ask if anyone is working on a better code competition for C++. I am not talking about ctags but something more advanced that can give me code hints on the fly without the need of rebuilding the index.
I don't think anyone's working on that ATM. There was some work to make Geany able to parse tags from memory instead of from disk, but it wasn't finished.
Well, I had an attempt a while ago to achieve this [1], but I didn't finished it already. I used a small library I written for the occasion, called MIO [2], that replicates C's file IO functions, but allowing to choose between memory or file IO. This makes the tagmanager update quite easy.
BTW almost everything is done, but it needs someone to check whether it actually work in memory and don't do some FILE I/O (if Geany correctly demands memory IO, and if the tagmanager doesn't do extra file IO). Unfortunately, I wasn't sure how to check for this... (just thinking I may add a debug statement in my IO object creation functions)
You could try using strace to check what file IO is being done.
Yup. Or simply use stat(1) to check the atime (provided the filesystem in use supports atime) of the opened file. Though, Lex' suggestion is more secure and can be easily grepped :).
But I can try to bring this upper in my todo-list, and somebody with better knowledge of the tagmanager (Enrico? Nick? :D) may want to help :)
knowledge? me? no no.
Seriously, this looks interesting! Great idea to create MIO!
Since MIO seems quite small (code-size), we maybe even could distribute as static lib with Geany at the beginning and then a bit later once it used and got stable, separate it as a standalone library. If I only would have more time, I'd like to dig into this...
Regards, Enrico