x/tools/gopls: document a framework for configuration decisions #61001
Labels
Documentation
gopls
Issues related to the Go language server, gopls.
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Tools
This label describes issues relating to any tools in the x/tools repository.
Milestone
We regularly get requests to add new configuration to gopls. These fall into different categories: some are UX-related, others are making certain parameters configurable, still others fundamentally change the way gopls behaves, in order for it to function better in certain environments.
We've learned the hard way that each new configuration option has a significant cost. Off the top of my head:
After experiencing the cost of our existing configuration, we increasingly push back on any new configuration. But absent context I think this can feel arbitrary to our users. Every request for new configuration comes with a good reason, and it's hard to argue that this benefit is more than offset by some abstract cost. Furthermore, we may sometimes reject reasonable configuration due to this reaction to past decisions.
Therefore, I think we need a formal framework for making decisions about new configuration, similar to the framework cmd/vet has for new analyses.
This issue tracks deciding upon and documenting that framework.
Again off the top of my head, I'd want something like this:
(I'll reiterate that these heuristics are just a starting point for discussion).
CC @golang/tools-team
The text was updated successfully, but these errors were encountered: