Thread: [Ctags] Retrieving entire func signatures in C/C++
Brought to you by:
dhiebert
From: Shane R. <srai@PMSI.com> - 2004-08-31 23:30:57
|
I am trying to use ctags to extract the entire func signatures from the = entire src code base either from the func prototypes or func = definitions. The src is mostly in C and some in C++.=20 When using the --fields option (e.g. below), the src line that contains = the func defintion gets terminated if the definition has a line feed in = between. Even though the signature is retrieved with this option, I do = not want to have to somehow concatenate the signature with the func name = and return type. Command used: C:\ctags>ctags.exe --c++-kinds=3Df --fields=3DS = c:\sandbox\MAINT\UTIL\DateUpdate\VersionUpdate.cpp Return: ChangeTargetString c:\sandbox\MAINT\UTIL\DateUpdate\VersionUpdate.cpp = /^bool ChangeTargetString(const char* strKey, const char* strValue,$/;" = signature:(const char* strKey, const char* strValue, FILE* file, FILE* = target, int fileType, bool bInc) In the above e.g., ^bool ChangeTargetString(const char* strKey, const = char* strValue, is only returned since a line feed was encountered. Is there someway to retreive the entire func signature (i.e. returnType = funcName(<argList>)) with ctags. Thanks. SRai |
From: Darren H. <dhi...@us...> - 2004-09-01 02:46:01
|
On Tue, 31 Aug 2004, Shane Rai wrote: > When using the --fields option (e.g. below), the src line that > contains the func defintion gets terminated if the definition has > a line feed in between. Even though the signature is retrieved > with this option, I do not want to have to somehow concatenate the > signature with the func name and return type. Ctags does not record the "src line". Ctags only records a search pattern that an editor can use to locate the line containing the definition for a given identifier. > Command used: > C:\ctags>ctags.exe --c++-kinds=f --fields=S c:\sandbox\MAINT\UTIL\DateUpdate\VersionUpdate.cpp > > Return: > ChangeTargetString c:\sandbox\MAINT\UTIL\DateUpdate\VersionUpdate.cpp /^bool ChangeTargetString(const char* strKey, const char* strValue,$/;" signature:(const char* strKey, const char* strValue, FILE* file, FILE* target, int fileType, bool bInc) > > In the above e.g., ^bool ChangeTargetString(const char* strKey, const char* strValue, is only returned since a line feed was encountered. I don't know what you mean by "returned". How does ctags "return" anything? Ctags only creates a tag file contained certain identified items. > Is there someway to retreive the entire func signature (i.e. returnType funcName(<argList>)) with ctags. No. I have had trouble coming up with a reliable way to record an entire C function signature. I will not implement it unless it is reasonably reliable. -Darren -- Darren Hiebert http://DarrenHiebert.com http://ctags.sourceforge.net |