CTAGS and the function list

Get help with the installation and running of the Zeus IDE. Please do not post bug reports or feature requests here. When in doubt post your question here.
Post Reply
AlanF
Posts: 8
Joined: Mon Dec 18, 2006 4:23 am

CTAGS and the function list

Post by AlanF » Mon Dec 18, 2006 4:39 am

We have just upgraded 3.8 to 3.95. Most things are working, however we cannot seem to trick the function list into populating. We are using Zeus with Microstation mdl which is a slightly extended version of C. The embedded CTAGS (exuberant ?) is finding and populating all but the function list. We have extended the c/c++ doc type with the appropriate .mc extension that MDL uses and it is happily colour coded as C, the included structures etc. are found. Just the functions are missing. As an experiment we copied and renamed one of the files to just .c and automagically the function list was populated. So it looks like the tag generator is not seeing the file as a "C" file as far as functions are concerned.

Does anyone have experiences (or hopefully solutions) like this ?

TIA

Alan

jussij
Site Admin
Posts: 2447
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij » Mon Dec 18, 2006 7:03 am

Hi Alan,
So it looks like the tag generator is not seeing the file as a "C" file as far as functions are concerned.
It sounds like the xtags.exe (ie ctags.exe) needs to be changed to treat the mdl file as a c file.

If you download the source code for ctags from here: http://ctags.sourceforge.net

in the c.c file you will find this function:

Code: Select all

extern parserDefinition* CParser (void)
It needs to be changed to include the mdl file extension. You then need to rebuild ctags.exe and copy this file back to the Zeus directory as xtags.exe.

If you don't have access to a c/c++ compiler let me know and I will make this change for you and upload a new xtags.exe to the Zeus web site.

Cheers Jussi

AlanF
Posts: 8
Joined: Mon Dec 18, 2006 4:23 am

Post by AlanF » Tue Dec 19, 2006 2:33 am

Hi Jussij,

Thanks for the response. Sound like a little job for me in the New Year.

In the meantime, I've managed to use the public ctags, with the -force-language=C switch to recognize the .mc files as C files, and I've generated a tags file that contains the function references that I am expecting.

Is there anyway of getting Zeus to recogize and use this tag file ? I've tried doing a "type tags > workspace.zbd" and then re-opening the workspace. When I attempt a code completion I receive a dialog telling me that the tags file is in a wrong format.....and that I should re-generate it using xbuilder, which is what I am trying to circumvent.

Any possible workarounds ?

Thanks,

Alan.

jussij
Site Admin
Posts: 2447
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij » Tue Dec 19, 2006 2:39 am

Hi Alan,
Any possible workarounds ?

Unfortunately not. The xtags.exe command line is hard coded into the xtags.dll :)

But I will make a change so that in future the command line is read from an INI file ;)

Cheers Jussi

jussij
Site Admin
Posts: 2447
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij » Tue Dec 19, 2006 10:16 pm

Hi Allan,
Any possible workarounds ?
Here is a new xTags.dll that allows the ctags.exe command line to be configured ;)

http://www.zeusedit.com/z300/xTags.zip

To install this new version backup the current xTags.dll and replace it with the one in the zip file.

To configure the command line start then close Zeus and in the Zeus install directory you will find an xTags.ini file where you can define the new command line.

Cheers Jussi

AlanF
Posts: 8
Joined: Mon Dec 18, 2006 4:23 am

Post by AlanF » Wed Dec 20, 2006 12:35 am

Thanks Jussi, I've installed it and created a new workspace and it is giving some trouble :oops: . I've emailed you the error and log files that Zeus is creating. I've included the ini that I'm using and the zbd being produced.

I've tried it with both the provided xtags.exe and ctags.exe 5.6 from sourceforge. Should I be using one or the other ?

Regards,

Alan.

jussij
Site Admin
Posts: 2447
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij » Wed Dec 20, 2006 1:53 am

Hi Alan,

Unfortunately it looks like the xTags.dll that was posted is not compatible with your version of Zeus executable :(

The reason for this is the current Zeus source code tree contains a lot of code to generally speed up the Zeus.exe and I suspect some of these code changes make the xTags.dll will on compatible with Zeus.exe built from the current code tree :(

You will need to revert back to the older xTags.dll backup copy for now, until I have time to restore the old code base and create a backwardly compatible xTags.dll.

If you don?t have a backup you can get the previous xTags.dll from the zeus 395z patch found here:

http://www.zeusedit.com/forum/viewtopic.php?t=1000

Sorry for the stuff up on my part :oops:

Cheers Jussi

AlanF
Posts: 8
Joined: Mon Dec 18, 2006 4:23 am

Post by AlanF » Wed Dec 20, 2006 2:17 am

Hi Jussi,

Thanks for the quick response. Yes, I'd already rolled back and got back to my :wink: real work.

Regards,

Alan.

jussij
Site Admin
Posts: 2447
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij » Mon Jan 22, 2007 10:05 pm

The latest Zeus 3.96a patch implements this feature correctly :)

Refer to this link for more details: http://www.zeusedit.com/forum/viewtopic.php?t=1035

Cheers Jussi

Post Reply
kuchnie warszawa opinie

Who is online

Users browsing this forum: KeganTori, RamonAnich and 4 guests