Răsfoiți Sursa

pkg/lsp: Add no-op textDocument/hover.

Qi Xiao 2 ani în urmă
părinte
comite
7cf4b94c5f
2 a modificat fișierele cu 17 adăugiri și 0 ștergeri
  1. 12 0
      pkg/lsp/lsp_test.go
  2. 5 0
      pkg/lsp/server.go

+ 12 - 0
pkg/lsp/lsp_test.go

@@ -90,6 +90,18 @@ func TestDidChangeDiagnostics(t *testing.T) {
 	}
 }
 
+func TestHover(t *testing.T) {
+	f := setup(t)
+
+	f.conn.Notify(bgCtx, "textDocument/didOpen", didOpenParams(""))
+	// Hover is a no-op now; just check that it doesn't error.
+	var hover lsp.Hover
+	err := f.conn.Call(bgCtx, "textDocument/hover", struct{}{}, &hover)
+	if err != nil {
+		t.Errorf("got error %v", err)
+	}
+}
+
 var completionTests = []struct {
 	name     string
 	text     string

+ 5 - 0
pkg/lsp/server.go

@@ -34,6 +34,7 @@ func handler(s *server) jsonrpc2.Handler {
 		"initialize":              s.initialize,
 		"textDocument/didOpen":    s.didOpen,
 		"textDocument/didChange":  s.didChange,
+		"textDocument/hover":      s.hover,
 		"textDocument/completion": s.completion,
 
 		"textDocument/didClose": noop,
@@ -102,6 +103,10 @@ func (s *server) didChange(ctx context.Context, conn jsonrpc2.JSONRPC2, rawParam
 	return nil, nil
 }
 
+func (s *server) hover(ctx context.Context, conn jsonrpc2.JSONRPC2, rawParams json.RawMessage) (interface{}, error) {
+	return lsp.Hover{}, nil
+}
+
 func (s *server) completion(ctx context.Context, conn jsonrpc2.JSONRPC2, rawParams json.RawMessage) (interface{}, error) {
 	var params lsp.CompletionParams
 	if json.Unmarshal(rawParams, &params) != nil {