aboutsummaryrefslogtreecommitdiff
path: root/internal/lsp/symbols.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/lsp/symbols.go')
-rw-r--r--internal/lsp/symbols.go57
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
-}