Regression in Nova's LSP configuration support

From a quick look at nova-yaml, I think it is ignoring anything that is passed to workspace/didChangeConfiguration and will only use the workspace/configuration request’s response now that it is supported.

Running the examples in the repo itself, it has yaml.schemas set inside the project configuration and it looks like nova isn’t returning that in the workspace/configuration response.

This output is from me saving the .nova/configuration.json to trigger the processes

server stdin.log
{"jsonrpc":"2.0","method":"workspace\/didChangeConfiguration","params":{"settings":{}}}Content-Length: 55

{“jsonrpc”:“2.0”,“id”:6,“result”:[null,null,null,null]}

server stdout.log
{"jsonrpc":"2.0","id":6,"method":"workspace/configuration","params":{"items":[{"section":"yaml"},{"section":"http"},{"section":"[yaml]"},{"section":"editor"}]}}Content-Length: 149

The .nova/configuration.json

I think sending the workspace/didChangeConfiguration is triggering the yaml server to do a workspace/configuration request, but that isn’t returning the correct configuration?

Update — If I rework the Configuration.json to not use dot-notation, Nova does pick up the configuration and return it to the workspace/configuration response.

.nova/Configuration.json
{
  "yaml": {
    "customTags": ["!secret scalar"],
    "schemas": { ... }
}
server stdin.log
{"jsonrpc":"2.0","id":12,"result":[{"schemas":{"https:\/\/raw.githubusercontent.com\/yannh\/kubernetes-json-schema\/master\/v1.20.5-standalone-strict\/all.json":["*deployment.yml","*deploy.yml","*configmap.yml","*cm.yml","*namespace.yml","*ns.yml","*persistentvolumeclaim.yml","*pvc.yml","*pod.yml","*po.yml","*secret.yml","*service.yml","*svc.yml","*serviceaccount.yml","*sa.yml","*daemonset.yml","*ds.yml","*cronjob.yml","*cj.yml","*job.yml","*ingress.yml","*ing.yml"]},"customTags":["!secret scalar"]},null,null,null]}

I think I touched on this in WorkspaceConfiguration middleware it didn’t seem like there was a defined way to store configuration sections

1 Like