Skip to content

Consider the capability mode when providing the server capabilities

In ligo_lsp/server.ml, we have capability_mode that allows configuring whether the server supports only semantic tokens, all but semantic tokens, or all capabilities. However, the server capabilities configuration doesn't take this into account and always replies that we support all capabilities. We should fix this.

n.b.: Some plugins, like nvim-navic complain if there are two or more language servers providing document symbols for the same buffer, hence this is an annoyance for users of this plugin.

Acceptance criteria

  • We correctly provide the server capabilities taking the capability mode into account.