- I was getting "Failed to execute child process" - after searching
for the problem, I found https://discourse.gnome.org/t/g-subprocess-new-behavior-on-windows/22189 which suggested to copy gspawn-win64-helper.exe and gspawn-win64-helper-console.exe under bin which I did from the glib msys2 package.
Those should be included already though in https://github.com/geany/geany/blob/master/scripts/gtk-bundle-from-msys2.sh#... we still have "win32". Maybe I missed to update ir accordingly.
I'll have a look at the weekend.
- After that, the server process started, but in a separate console
window and it seems that the server process uses the console's stdin/stdout. I need to be able to read/write from/to the server using stdin/stdout using G_SUBPROCESS_FLAGS_STDIN_PIPE | G_SUBPROCESS_FLAGS_STDOUT_PIPE parameters of gsubprocess but I'm not even sure if these are supported because the unit tests don't test them on Windows.
Ohhhh. Did you try Geany's spawn API (`spawn_async_with_pipes` etc.)? IIRC these use Windows native APIs on Windows and maybe this helps.
Admittedly, I have no clue about LSP but some how intuitively I assumed the client and server communicate via network. Could this be a solution, to (at least on Windows) have the plugin talk to the server via TCP/UDP/whatever network protocol?