diff --git a/langserver/handlers/initialize.go b/langserver/handlers/initialize.go index 594646fcd..5ff519334 100644 --- a/langserver/handlers/initialize.go +++ b/langserver/handlers/initialize.go @@ -28,14 +28,13 @@ func (lh *logHandler) Initialize(ctx context.Context, params lsp.InitializeParam } fh := ilsp.FileHandlerFromDirURI(params.RootURI) - if !fh.Valid() { - return serverCaps, fmt.Errorf("URI %q is not valid", params.RootURI) - } - - if !fh.IsDir() { + if fh.URI() == "" || !fh.IsDir() { return serverCaps, fmt.Errorf("Editing a single file is not yet supported." + " Please open a directory.") } + if !fh.Valid() { + return serverCaps, fmt.Errorf("URI %q is not valid", params.RootURI) + } err := lsctx.SetClientCapabilities(ctx, ¶ms.Capabilities) if err != nil {