Hello, Please see the second EXAMPLES section of gtags(1). However, you must set ctagscom variable to uctags path like this:
[/usr/local/share/gtags/gtags.conf] +---------------------------------------------------------------- |... |universal-ctags|setting to use Universal Ctags plug-in parser:\ | :tc=common:\ | :ctagscom=/usr/local/bin/u-ctags:\ <=== Please set uctags path. | :ctagslib=$libdir/gtags/universal-ctags.la:\ |... $ GTAGSCONF=/usr/local/share/gtags/gtags.conf $ GTAGSLABEL=universal-ctags $ gtags $ global -x '.*' Bar 3 Bar.cs public class Bar : IBar Common.Services 1 Bar.cs namespace Common.Services Common.Services 4 IBar.cs namespace Common.Services Common.Services 1 Program.cs namespace Common.Services Hukarz 5 Bar.cs public void Hukarz() Hukarz 8 IBar.cs public void Hukarz(); IBar 6 IBar.cs interface IBar Main 5 Program.cs public static void Main() Tester 3 Program.cs public class Tester $ _ Good luck! On Sat, Sep 7, 2024 at 10:20 PM Esben Stien <[email protected]> wrote: > > > I'm trying to get C# tags to work and I'm not getting anything to work, > so I have to start from the beginning;) > > I have Universal Ctags installed as u-ctags > > ``` > $ u-ctags --version > Universal Ctags 6.1.0, Copyright (C) 2015-2023 Universal Ctags Team > Universal Ctags is derived from Exuberant Ctags. > Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert > URL: https://ctags.io/ > Output version: 0.0 > Optional compiled features: +wildcards, +regex, +iconv, +option-directory, > +xpath, +json, +interactive, +sandbox, +yaml, +packcc, +optscript, +pcre2 > ``` > > I have C# source files. > > Program.cs > > ``` > namespace Common.Services > { > public class Tester > { > public static void Main() > { > IBar Bar = new Bar(); > Bar.Hukarz(); > } > } > } > ``` > > IBar.cs > ``` > using System; > using System.Collections.Generic; > > namespace Common.Services > { > interface IBar > { > public void Hukarz(); > } > } > ``` > > Bar.cs > ``` > namespace Common.Services > { > public class Bar : IBar > { > public void Hukarz() > { > System.Console.WriteLine("ehlo"); > } > } > } > ``` > > I create the tags file, as such > > ``` > u-ctags -R > ``` > > The tags file looks like this. > > ``` > !_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects > like lambda/ > !_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/ > !_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/ > !_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/ > !_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file > (only for F\/file kind tag)/ > !_TAG_FIELD_DESCRIPTION file /File-restricted scoping/ > !_TAG_FIELD_DESCRIPTION input /input file/ > !_TAG_FIELD_DESCRIPTION name /tag name/ > !_TAG_FIELD_DESCRIPTION pattern /pattern/ > !_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/ > !_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append > ;" to lines/ > !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ > !_TAG_KIND_DESCRIPTION!C# E,event /events/ > !_TAG_KIND_DESCRIPTION!C# c,class /classes/ > !_TAG_KIND_DESCRIPTION!C# d,macro /macro definitions/ > !_TAG_KIND_DESCRIPTION!C# e,enumerator /enumerators (values inside > an enumeration)/ > !_TAG_KIND_DESCRIPTION!C# f,field /fields/ > !_TAG_KIND_DESCRIPTION!C# g,enum /enumeration names/ > !_TAG_KIND_DESCRIPTION!C# i,interface /interfaces/ > !_TAG_KIND_DESCRIPTION!C# m,method /methods/ > !_TAG_KIND_DESCRIPTION!C# n,namespace /namespaces/ > !_TAG_KIND_DESCRIPTION!C# p,property /properties/ > !_TAG_KIND_DESCRIPTION!C# s,struct /structure names/ > !_TAG_KIND_DESCRIPTION!C# t,typedef /typedefs/ > !_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/ > !_TAG_OUTPUT_FILESEP slash /slash or backslash/ > !_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/ > !_TAG_OUTPUT_VERSION 0.0 /current.age/ > !_TAG_PARSER_VERSION!C# 0.0 /current.age/ > !_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/ > !_TAG_PROC_CWD /home/b0ef/proj/2024-08-12.debug-csharp-interface-tags/ // > !_TAG_PROGRAM_AUTHOR Universal Ctags Team // > !_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/ > !_TAG_PROGRAM_URL https://ctags.io/ /official site/ > !_TAG_PROGRAM_VERSION 6.1.0 // > Bar Bar.cs /^ public class Bar : IBar$/;" c > namespace:Common.Services > Common.Services Bar.cs /^namespace Common.Services$/;" n > Common.Services IBar.cs /^namespace Common.Services$/;" n > Common.Services Program.cs /^namespace Common.Services$/;" n > Hukarz Bar.cs /^ public void Hukarz()$/;" m > class:Common.Services.Bar > Hukarz IBar.cs /^ public void Hukarz();$/;" m > interface:Common.Services.IBar > IBar IBar.cs /^ interface IBar$/;" i > namespace:Common.Services > Main Program.cs /^ public static void Main()$/;" m > class:Common.Services.Tester > Tester Program.cs /^ public class Tester$/;" c > namespace:Common.Services > > ``` > > If I now convert this to GNU Global, as such > ``` > gtags --gtagslabel=ctags -f tags > ``` > > , which outputs: > > ``` > Warning: '!_TAG_EXTRA_DESCRIPTIONanonymous /Include tags for non-named > objects like lambda/' not found. ignored. > Warning: '!_TAG_EXTRA_DESCRIPTIONfileScope /Include tags of file > scope/' not found. ignored. > Warning: '!_TAG_EXTRA_DESCRIPTIONpseudo /Include pseudo tags/' not found. > ignored. > Warning: '!_TAG_EXTRA_DESCRIPTIONsubparser /Include tags generated by > subparsers/' not found. ignored. > Warning: '!_TAG_FIELD_DESCRIPTIONepoch /the last modified time of the > input file (only for F\/file kind tag)/' not found. ignored. > Warning: '!_TAG_FIELD_DESCRIPTIONfile /File-restricted scoping/' not > found. ignored. > Warning: '!_TAG_FIELD_DESCRIPTIONinput /input file/' not found. ignored. > Warning: '!_TAG_FIELD_DESCRIPTIONname /tag name/' not found. ignored. > Warning: '!_TAG_FIELD_DESCRIPTIONpattern /pattern/' not found. ignored. > Warning: '!_TAG_FIELD_DESCRIPTIONtyperef /Type and name of a variable or > typedef/' not found. ignored. > Warning: '!_TAG_FILE_FORMAT 2/extended format; --format=1 will not append > ;" to lines/' not found. ignored. > Warning: '!_TAG_FILE_SORTED 1/0=unsorted, 1=sorted, 2=foldcase/' not > found. ignored. > Warning: '!_TAG_KIND_DESCRIPTION!C# E,event /events/' not found. > ignored. > Warning: '!_TAG_KIND_DESCRIPTION!C# c,class /classes/' not found. > ignored. > Warning: '!_TAG_KIND_DESCRIPTION!C# d,macro /macro definitions/' not > found. ignored. > Warning: '!_TAG_KIND_DESCRIPTION!C# e,enumerator /enumerators > (values inside an enumeration)/' not found. ignored. > Warning: '!_TAG_KIND_DESCRIPTION!C# f,field /fields/' not found. > ignored. > Warning: '!_TAG_KIND_DESCRIPTION!C# g,enum /enumeration names/' not > found. ignored. > Warning: '!_TAG_KIND_DESCRIPTION!C# i,interface /interfaces/' not > found. ignored. > Warning: '!_TAG_KIND_DESCRIPTION!C# m,method /methods/' not > found. ignored. > Warning: '!_TAG_KIND_DESCRIPTION!C# n,namespace /namespaces/' not > found. ignored. > Warning: '!_TAG_KIND_DESCRIPTION!C# p,property /properties/' not > found. ignored. > Warning: '!_TAG_KIND_DESCRIPTION!C# s,struct /structure names/' > not found. ignored. > Warning: '!_TAG_KIND_DESCRIPTION!C# t,typedef /typedefs/' not > found. ignored. > Warning: '!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or > combineV2/' not found. ignored. > Warning: '!_TAG_OUTPUT_FILESEP slash /slash or backslash/' not found. > ignored. > Warning: '!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/' not found. > ignored. > Warning: '!_TAG_OUTPUT_VERSION 0.0 /current.age/' not found. ignored. > Warning: '!_TAG_PARSER_VERSION!C#0.0 /current.age/' not found. ignored. > Warning: '!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/' not > found. ignored. > Warning: '!_TAG_PROC_CWD > /home/b0ef/proj/2024-08-12.debug-csharp-interface-tags/ //' not found. > ignored. > Warning: '!_TAG_PROGRAM_AUTHOR Universal Ctags Team //' not found. > ignored. > Warning: '!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant > Ctags/' not found. ignored. > Warning: '!_TAG_PROGRAM_URL https://ctags.io/ /official site/' not found. > ignored. > Warning: '!_TAG_PROGRAM_VERSION 6.1.0 //' not found. ignored. > Warning: 'Bar Bar.cs /^ public class Bar : IBar$/;" c > namespace:Common.Services' not found. ignored. > Warning: 'Common.Services Bar.cs /^namespace Common.Services$/;" > n' not found. ignored. > Warning: 'Common.Services IBar.cs /^namespace Common.Services$/;" > n' not found. ignored. > Warning: 'Common.Services Program.cs /^namespace > Common.Services$/;" n' not found. ignored. > Warning: 'Hukarz Bar.cs /^ public void Hukarz()$/;" > mclass:Common.Services.Bar' not found. ignored. > Warning: 'Hukarz IBar.cs /^ public void Hukarz();$/;"m > interface:Common.Services.IBar' not found. ignored. > Warning: 'IBar IBar.cs /^ interface IBar$/;" i > namespace:Common.Services' not found. ignored. > Warning: 'Main Program.cs /^ public static void Main()$/;"m > class:Common.Services.Tester' not found. ignored. > Warning: 'Tester Program.cs > /^ public class Tester$/;" cnamespace:Common.Services' not found. > ignored. > > ``` > > The resulting three G* files don't contain any symbols. > > Any pointers as to what's happening here?;) > > > -- > Esben Stien is b0ef@e s a > http://www. s t n m > irc://irc. b - i . e/%23contact > sip:b0ef@ e e > jid:b0ef@ n n > -- Shigio YAMAGUCHI <[email protected]> PGP fingerprint: 26F6 31B4 3D62 4A92 7E6F 1C33 969C 3BE3 89DD A6EB
