Oh, I wasn't clear. I had use_without_project=true set, so in my case it was not so surprising. I used it this way on purpose.

Ah, right, I wasn't sure why it worked for me but it's because I set project_root_marker_patterns so the root was auto-located.

The only drawback is that the project root (after having it detected using project_root_marker_patterns), is sent to the server only on initialization. That is, if you switch to another file of the same language in another project root, the server doesn't know the new root directory.

This is specific to clangd which unfortunately doesn't support multiple project roots. Many other servers support it - you can find

    "workspace" : {
      "workspaceFolders" : {
        "supported" : true,
        "changeNotifications" : true
      }
    }

in their initialize responses and the plugin will automatically add project roots as you open files.

It would be possible to add support for multiple running instances of the same server by which I could overcome the clangd limitation but I kind of hope they eventually add proper workspaceFolders support.

So, yeah, restarting is the current workaround (there's a keybinding for it).


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/4192/c2585836951@github.com>