You seem to be biased towards this change, perhaps because it works so well for you, and this is OK. But be honest about it and don't play down other people's voice.

You make it sound like its bad, but being excited about a feature is what open source is about, people do what they are interested and excited about, and of course that makes people positive about the change, its the lifeblood of volunteer projects, not something bad.

Maybe I didn't do a good job but I always tried to be objective and suggested alternatives or improvements.

I didn't mean to imply that you were not attempting to be helpful, but I did scan the thread before posting, and still I don't see any acceptance of the fact that the LSP works different to ctags/tagmanager. And I explicitly acknowledged that that is most probably due to a lack of time for those of us other than @techee to study the details. But that means the suggestions are inappropriate to the way LSPs work, so they are not improvements, they are trying to fit a square peg in a round hole three sizes too small.

Perhaps summarising it to "I don't like it" sounds a bit harsh, and I apologise for that, but continued arguments to do things in ways that do not fit the LSP process effectively boil down to that. Because we can't change the LSP spec so there is no point in continuing to propose suggestions that do not fit with how they work, no matter how little somebody likes them (or MS). I spent a considerable amount of time over several posts trying to explain how the LSP process works, and features of various languages that LSP supports and tagmanager doesn't, but clearly I didn't do it well enough.

I don't know what your programming language background is, but I also did not see any acknowledgement that various languages (eg C++, Rust, Go, Julia) have advanced features (eg inferred types) that the existing ctags/tagmanager infrastructure simply does not address, and cannot address without the same level of smarts as LSPs have.

Also accept that not even the author deems the current form as ready for merging.

And I added the WIP label at the time of the post above for that reason. Its unfortunate since (at least as embodied in the geany-lsp repo) it works just fine and adds considerable capability that needs to be made available to users to use and benefit from and abuse and find bugs and issues.

IIUC @techee is proposing to complicate the plugin to provide some limited capability to unmodified Geany (but didn't actually define what capability it might be able to add). To me thats just wasted redundant work because it cannot add support for those advanced features of the languages that tagmanager is incapable of supporting, and makes the plugin more complicated, and has two versions of capability to support. The plugin should simply not load if the API version is below the LSP API version.

Since most of the code is in the plugin (this PR is only a few hundred lines) and it doesn't affect anything if the plugin is not loaded, its safe to make available. Obviously if anyone finds changes to Geany behaviour with the plugin unloaded or loaded but a language for which there is no LSP they should post immediately.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <geany/geany/pull/3571/c1965675519@github.com>