[Geany-Devel] Interested making a patch to add QML support

Tory Gaurnier torygaurnier at xxxxx
Mon Sep 30 18:56:58 UTC 2013

So far so good, I've completely re-vamped the qml.c file, so it 
correctly recurses into tags, and I've added support for all possible 
QML Objects and Javascript functions (including signal frunctions, like 
Component.onCompleted, it won't point to a declaration of a signal like 
signal my_signal(), but it'll point to onMy_signal: {}).

But now I have a question, I've been looking at c.c to see how it makes 
the tree stucture in the symbol list, from what I can tell it's 
extensionFields.scope that's behind it, is that correct? Is there 
anything else that needs to be set to accomplish this? And what do you 
set the values of extensionFields.scope to? It looks to me like this:
extensionFields.scope[0] = parentKindName;
extensionFields.scope[1] = parentName;

Is this correct? I did notice that in the c.c file it appears to 
reverse-recurse (whatever you'd call that :P) all the way up to the root 
parent of the tag, making the extensionFields.scope[1] something like this:
parent1Name::parent2Name::parent3Name::rootParentName, but the '::' may 
be a '.' depending on the language in question. Am I reading it correctly?

Anyways, I'm just trying to figure out how to set the scope of each tag, 
for "sub-tags", or a tree structure in the symbol list, right now 
everthing just appears in a simple list under "Functions" and "Other".

Also, (sorry for so many questions), it appears that you can only 
recurse once in the symbol list, is this correct? Only two scopes so to 
speak, parent and child, no grandchild, so, for example, you can have this:

But not this:

Is this correct?

I hope my questions make sense, I'll continue to research this on my own 
(when I'm not working that is ;] ), but I'd appreciate any help if 
possible. Thanks.

More information about the Devel mailing list