diff --git a/internal/langserver/handlers/code_lens.go b/internal/langserver/handlers/code_lens.go new file mode 100644 index 000000000..2f6c7f8ee --- /dev/null +++ b/internal/langserver/handlers/code_lens.go @@ -0,0 +1,12 @@ +package handlers + +import ( + "context" + + lsp "github.com/hashicorp/terraform-ls/internal/protocol" +) + +func (h *logHandler) TextDocumentCodeLens(ctx context.Context, params lsp.CodeLensParams) ([]lsp.CodeLens, error) { + // TODO: Implement code lens + return []lsp.CodeLens{}, nil +} diff --git a/internal/langserver/handlers/initialize.go b/internal/langserver/handlers/initialize.go index 359d84001..0cc503025 100644 --- a/internal/langserver/handlers/initialize.go +++ b/internal/langserver/handlers/initialize.go @@ -24,6 +24,7 @@ func (lh *logHandler) Initialize(ctx context.Context, params lsp.InitializeParam CompletionProvider: lsp.CompletionOptions{ ResolveProvider: false, }, + CodeLensProvider: lsp.CodeLensOptions{}, HoverProvider: true, DocumentFormattingProvider: true, DocumentSymbolProvider: true, diff --git a/internal/langserver/handlers/service.go b/internal/langserver/handlers/service.go index b6cd0f4b8..93f263df8 100644 --- a/internal/langserver/handlers/service.go +++ b/internal/langserver/handlers/service.go @@ -256,6 +256,14 @@ func (svc *service) Assigner() (jrpc2.Assigner, error) { return handle(ctx, req, lh.TextDocumentHover) }, + "textDocument/codeLens": func(ctx context.Context, req *jrpc2.Request) (interface{}, error) { + err := session.CheckInitializationIsConfirmed() + if err != nil { + return nil, err + } + + return handle(ctx, req, lh.TextDocumentCodeLens) + }, "textDocument/formatting": func(ctx context.Context, req *jrpc2.Request) (interface{}, error) { err := session.CheckInitializationIsConfirmed() if err != nil {