CTAGS and the function list
CTAGS and the function list
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
Does anyone have experiences (or hopefully solutions) like this ?
TIA
Alan
Hi Alan,
If you download the source code for ctags from here: http://ctags.sourceforge.net
in the c.c file you will find this function:
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
It sounds like the xtags.exe (ie ctags.exe) needs to be changed to treat the mdl file as a c file.So it looks like the tag generator is not seeing the file as a "C" file as far as functions are concerned.
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)
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
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.
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.
Hi Allan,

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
Here is a new xTags.dll that allows the ctags.exe command line to be configuredAny possible workarounds ?

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
Thanks Jussi, I've installed it and created a new workspace and it is giving some trouble
. 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.

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.
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
Cheers Jussi
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

Cheers Jussi
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

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