diff --git a/internal/lsp/acmelsp/metadata.go b/internal/lsp/acmelsp/metadata.go index 6b69b08..5e738ef 100644 --- a/internal/lsp/acmelsp/metadata.go +++ b/internal/lsp/acmelsp/metadata.go @@ -15,7 +15,6 @@ import ( //metdata is implemented due to the https://github.com/OmniSharp/omnisharp-roslyn/issues/2238 func convertFilePath(p string) (path string) { - fmt.Println(os.TempDir()) path = strings.Replace(p, "$metadata$", fmt.Sprintf("%s/csharp-metadata/", os.TempDir()), 1) //os.TempDir return } diff --git a/internal/lsp/acmelsp/proxy.go b/internal/lsp/acmelsp/proxy.go index 9b95335..444cd17 100644 --- a/internal/lsp/acmelsp/proxy.go +++ b/internal/lsp/acmelsp/proxy.go @@ -18,6 +18,8 @@ type proxyServer struct { fm *FileManager } +var _ proxy.Server = (*proxyServer)(nil) + func (s *proxyServer) Version(ctx context.Context) (int, error) { return proxy.Version, nil } diff --git a/internal/lsp/protocol/tsserver.go b/internal/lsp/protocol/tsserver.go index af0dcc7..46438f6 100644 --- a/internal/lsp/protocol/tsserver.go +++ b/internal/lsp/protocol/tsserver.go @@ -9,7 +9,7 @@ import ( "github.com/fhs/acme-lsp/internal/golang_org_x_tools/xcontext" ) -type Server interface { +type server interface { DidChangeWorkspaceFolders(context.Context, *DidChangeWorkspaceFoldersParams) error Initialized(context.Context, *InitializedParams) error Exit(context.Context) error @@ -53,9 +53,17 @@ type Server interface { Rename(context.Context, *RenameParams) (*WorkspaceEdit, error) PrepareRename(context.Context, *PrepareRenameParams) (*Range, error) ExecuteCommand(context.Context, *ExecuteCommandParams) (interface{}, error) +} + +type ExtendServer interface { Metadata(context.Context, *MetadataParams) (*MetaSourceRsponse, error) } +type Server interface { + server + ExtendServer +} + func (h serverHandler) Deliver(ctx context.Context, r *jsonrpc2.Request, delivered bool) bool { if delivered { return false diff --git a/internal/lsp/proxy/server.go b/internal/lsp/proxy/server.go index 8c8c109..4d83c73 100644 --- a/internal/lsp/proxy/server.go +++ b/internal/lsp/proxy/server.go @@ -15,7 +15,7 @@ const Version = 1 // Server implements a subset of an LSP protocol server as defined by protocol.Server and // some custom acme-lsp specific methods. -type Server interface { +type subLspServer interface { // Version returns the protocol version. Version(context.Context) (int, error) @@ -48,9 +48,17 @@ type Server interface { SignatureHelp(context.Context, *protocol.SignatureHelpParams) (*protocol.SignatureHelp, error) DocumentSymbol(context.Context, *protocol.DocumentSymbolParams) ([]protocol.DocumentSymbol, error) TypeDefinition(context.Context, *protocol.TypeDefinitionParams) ([]protocol.Location, error) +} + +type ExtendServer interface { Metadata(context.Context, *protocol.MetadataParams) (*protocol.MetaSourceRsponse, error) } +type Server interface { + subLspServer + ExtendServer +} + func (h serverHandler) Deliver(ctx context.Context, r *jsonrpc2.Request, delivered bool) bool { if delivered { return false