The Geany documentation describes the ctags pipe format file with clarity consequently I have been able to use it successfully. The documentation for the more important Tagmanager file format is much less clear:
_The Tagmanager format is a bit more complex and is used for files created by the geany -g command. There is one symbol per line. Different symbol attributes like the return value or the argument list are separated with different characters indicating the type of the following argument. This is the more complete and recommended tags file format._
Please tell me where I can find more complete documentation describing the tagmanager file layout?
Maybe check the Geany wiki. There are some files available to. See https://wiki.geany.org/tags/start.
Thank you for your suggestion. I have reviewed this page several times. It has a lot of helpful example tag files but no description of their format. The format appears to involve binary encodings and is thus difficult to decode by visual inspection.
The TagManager format is not really meant to be used directly (hence the lack of docs), it's meant to be generated by Geany itself using the `-g` option. If you're really interested, you can find the code that reads and writes this format in [tm_source_file.c](https://github.com/geany/geany/blob/9c91c287803ae05ce0f2aacd605564301e0ef4aa...).
I believe Geany can also load Ctags format, written by tools like [universal-ctags](https://github.com/universal-ctags/ctags) as well, if you need something more advanced than pipe format, without reverse-engineering TM format.
Also tagmanager is at least partly a binary format, it would be very hard to edit by hand.
Not a full documentation but it might help to get an idea of how to use the format can be found in https://github.com/geany/geany/blob/master/scripts/create_py_tags.py. This script generates a tag file with Python tags.
What exactly do you want to achieve? Tags files can also be generated by Geany itself, so this might be easier for you.
Hi **Enrico**:
I have written a parser to extract class names and descriptions, method names and descriptions, method parameter names and descriptions, examples and tests from my perl modules on cpan. From this wealth of information I am able to create detailed online documentation as in https://metacpan.org/pod/Data::Edit::Xml .
Using the pipe ctags format I am able to present some of this information to the programmer when they type **(** after snippet expansion in Geany while editing Perl. This is so helpful that I would like to expand the information presented to the programmer and have more control over its format. I was hoping that perhaps the tag manager format would be a step further towards reaching this goal.
The ultimate destination would of course be to have a small web view pop up with the above information formatted via html with links to related methods etc. etc.
Such a capability would extend Geany into new domains: For instance I have configured Geany to edit Dita Xml intelligently. As a consequence I need a better way to present the user with information about the many options available to them while editing Dita. At the moment I am stuck because ctags does not seem to work for Dita Xml and even if it did the format provided by ctags is not really relevant.
Thus a more general procedure for presenting complex context help would be very useful to me.
One solution might be to have the option to call a Lua script that returens some relevant html which is displayed in a web view popup next to the word being queried?
Well, we already have the context action (https://geany.org/manual/#context-actions) which can call arbitary commands on the current word. For an example, see https://wiki.geany.org/howtos/pydocw. The script shows a little window with the Pyrhon documentation. In there you could also display any other information from your source.
github-comments@lists.geany.org