From experimenting, it seems like the path will need to be \\wsl$\docker-desktop\tmp so we will go with that should we encounter this payload in an initialize request.
{
"rootPath": "\\\\wsl$\\docker-desktop\\tmp",
"rootUri": "file://wsl%24/docker-desktop/tmp",
"workspaceFolders": [
{
"uri": "file://wsl%24/docker-desktop/tmp",
"name": "tmp"
}
]
}
package main
import (
"fmt"
"net/url"
)
func main() {
fmt.Println(url.Parse("file://wsl%24/docker-desktop/tmp"))
}
<nil> parse "file://wsl%24/docker-desktop/tmp": invalid URL escape "%24"