diff --git a/internal/lsp/general.go b/internal/lsp/general.go
index 69f262a..cb485c5 100644
--- a/internal/lsp/general.go
+++ b/internal/lsp/general.go
@@ -178,16 +178,15 @@
 		return nil
 	}
 	v := protocol.ParamConfig{
-		protocol.ConfigurationParams{
+		ConfigurationParams: protocol.ConfigurationParams{
 			Items: []protocol.ConfigurationItem{{
 				ScopeURI: protocol.NewURI(folder),
 				Section:  "gopls",
 			}, {
 				ScopeURI: protocol.NewURI(folder),
 				Section:  name,
-			},
-			},
-		}, protocol.PartialResultParams{},
+			}},
+		},
 	}
 	configs, err := s.client.Configuration(ctx, &v)
 	if err != nil {
diff --git a/internal/lsp/lsp_test.go b/internal/lsp/lsp_test.go
index 063367a..bba1bc2 100644
--- a/internal/lsp/lsp_test.go
+++ b/internal/lsp/lsp_test.go
@@ -614,24 +614,19 @@
 		var hover *protocol.Hover
 		if d.IsType {
 			params := &protocol.TypeDefinitionParams{
-				tdpp,
-				protocol.WorkDoneProgressParams{},
-				protocol.PartialResultParams{},
+				TextDocumentPositionParams: tdpp,
 			}
 			locs, err = r.server.TypeDefinition(r.ctx, params)
 		} else {
 			params := &protocol.DefinitionParams{
-				tdpp,
-				protocol.WorkDoneProgressParams{},
-				protocol.PartialResultParams{},
+				TextDocumentPositionParams: tdpp,
 			}
 			locs, err = r.server.Definition(r.ctx, params)
 			if err != nil {
 				t.Fatalf("failed for %v: %+v", d.Src, err)
 			}
 			v := &protocol.HoverParams{
-				tdpp,
-				protocol.WorkDoneProgressParams{},
+				TextDocumentPositionParams: tdpp,
 			}
 			hover, err = r.server.Hover(r.ctx, v)
 		}
@@ -681,9 +676,7 @@
 			Position:     loc.Range.Start,
 		}
 		params := &protocol.DocumentHighlightParams{
-			tdpp,
-			protocol.WorkDoneProgressParams{},
-			protocol.PartialResultParams{},
+			TextDocumentPositionParams: tdpp,
 		}
 		highlights, err := r.server.DocumentHighlight(r.ctx, params)
 		if err != nil {
@@ -829,8 +822,7 @@
 			Position:     loc.Range.Start,
 		}
 		params := &protocol.PrepareRenameParams{
-			tdpp,
-			protocol.WorkDoneProgressParams{},
+			TextDocumentPositionParams: tdpp,
 		}
 		got, err := r.server.PrepareRename(context.Background(), params)
 		if err != nil {
@@ -946,8 +938,7 @@
 			Position: loc.Range.Start,
 		}
 		params := &protocol.SignatureHelpParams{
-			tdpp,
-			protocol.WorkDoneProgressParams{},
+			TextDocumentPositionParams: tdpp,
 		}
 		gotSignatures, err := r.server.SignatureHelp(r.ctx, params)
 		if err != nil {
