diff options
Diffstat (limited to 'internal/lsp/symbols.go')
-rw-r--r-- | internal/lsp/symbols.go | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/internal/lsp/symbols.go b/internal/lsp/symbols.go deleted file mode 100644 index f04e4572d..000000000 --- a/internal/lsp/symbols.go +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package lsp - -import ( - "context" - - "golang.org/x/tools/internal/event" - "golang.org/x/tools/internal/lsp/debug/tag" - "golang.org/x/tools/internal/lsp/protocol" - "golang.org/x/tools/internal/lsp/source" - "golang.org/x/tools/internal/lsp/template" -) - -func (s *Server) documentSymbol(ctx context.Context, params *protocol.DocumentSymbolParams) ([]interface{}, error) { - ctx, done := event.Start(ctx, "lsp.Server.documentSymbol") - defer done() - - snapshot, fh, ok, release, err := s.beginFileRequest(ctx, params.TextDocument.URI, source.UnknownKind) - defer release() - if !ok { - return []interface{}{}, err - } - var docSymbols []protocol.DocumentSymbol - if snapshot.View().FileKind(fh) == source.Tmpl { - docSymbols, err = template.DocumentSymbols(snapshot, fh) - } else { - docSymbols, err = source.DocumentSymbols(ctx, snapshot, fh) - } - if err != nil { - event.Error(ctx, "DocumentSymbols failed", err, tag.URI.Of(fh.URI())) - return []interface{}{}, nil - } - // Convert the symbols to an interface array. - // TODO: Remove this once the lsp deprecates SymbolInformation. - symbols := make([]interface{}, len(docSymbols)) - for i, s := range docSymbols { - if snapshot.View().Options().HierarchicalDocumentSymbolSupport { - symbols[i] = s - continue - } - // If the client does not support hierarchical document symbols, then - // we need to be backwards compatible for now and return SymbolInformation. - symbols[i] = protocol.SymbolInformation{ - Name: s.Name, - Kind: s.Kind, - Deprecated: s.Deprecated, - Location: protocol.Location{ - URI: params.TextDocument.URI, - Range: s.Range, - }, - } - } - return symbols, nil -} |