[Geany-Devel] [FT-plugins] Proposed "Features"

Thomas Martitz kugel at xxxxx
Mon Aug 29 12:38:27 UTC 2016

Am 29.08.2016 um 14:23 schrieb Lex Trotman:
> This adds per use case hooks to plugins, which then became part of the stable API. I don't think that we have to codify every single use case of tags into the plugins. That's just making it harder (maybe impossible?) to change or add use cases.
> The point of this proposal is to change and add use-cases that are not
> currently possible with the current plugin API.  But instead of each
> use-case generating its own piece of API and its own infrastructure,
> the point of the FT-plugins proposal is to provide a common
> infrastructure and approach for all filetype specific use-cases, those
> needed for currently suggested uses, indentation, clang based styling
> and symbols, and as framework for future use-cases we either havn't
> thought of, or havn't a concrete intention to add immediately.
>> I thought we agreed that plugin should simply provide tags to Geany/TM
> This proposal is about many types of filetype specific functionality,
> not just tags.  Tagmanager will not help in any way with indenting
> Haskell, or even C++.

4 of 5 of the proposed features are strictly tag-related. And Geany can 
do all of them already, it's just that the current implementation leaves 
things to be desired so there is the idea to let plugins improve upon them.

I disagree with the proposed solution for those 4, because they are 
offloading logic on a per feature basis to plugins, only because Geany 
isn't capable at the moment. If Geany was capable, then there could be 1 
solution for the 4 features and less complexity in each plugin (and we 
know the quality of plugins varies a lot so they should have little 
complexity as possible).

The solution I have in mind simply allows plugins to pass tags to Geany 
which they parsed with more advanced code. The tags itself would 
advanced too, to allow for the improvements current TM+ctags can't 
offer. Symbol tree, calltips, autocompletion, jump-to-decl can all be 
improved based on the advanced tags.

Best regards.

More information about the Devel mailing list