github.com/v2fly/tools@v0.100.0/internal/lsp/testdata/symbols/main.go (about)

     1  package main
     2  
     3  import (
     4  	"io"
     5  )
     6  
     7  var _ = 1
     8  
     9  var x = 42 //@mark(symbolsx, "x"), symbol("x", "x", "Variable", "", "main.x")
    10  
    11  const y = 43 //@symbol("y", "y", "Constant", "", "main.y")
    12  
    13  type Number int //@symbol("Number", "Number", "Number", "", "main.Number")
    14  
    15  type Alias = string //@symbol("Alias", "Alias", "String", "", "main.Alias")
    16  
    17  type NumberAlias = Number //@symbol("NumberAlias", "NumberAlias", "Number", "", "main.NumberAlias")
    18  
    19  type (
    20  	Boolean   bool   //@symbol("Boolean", "Boolean", "Boolean", "", "main.Boolean")
    21  	BoolAlias = bool //@symbol("BoolAlias", "BoolAlias", "Boolean", "", "main.BoolAlias")
    22  )
    23  
    24  type Foo struct { //@mark(symbolsFoo, "Foo"), symbol("Foo", "Foo", "Struct", "", "main.Foo")
    25  	Quux           //@mark(fQuux, "Quux"), symbol("Quux", "Quux", "Field", "Foo", "main.Foo.Quux")
    26  	W    io.Writer //@symbol("W" , "W", "Field", "Foo", "main.Foo.W")
    27  	Bar  int       //@mark(fBar, "Bar"), symbol("Bar", "Bar", "Field", "Foo", "main.Foo.Bar")
    28  	baz  string    //@symbol("baz", "baz", "Field", "Foo", "main.Foo.baz")
    29  }
    30  
    31  type Quux struct { //@symbol("Quux", "Quux", "Struct", "", "main.Quux")
    32  	X, Y float64 //@mark(qX, "X"), symbol("X", "X", "Field", "Quux", "main.X"), symbol("Y", "Y", "Field", "Quux", "main.Y")
    33  }
    34  
    35  func (f Foo) Baz() string { //@symbol("(Foo).Baz", "Baz", "Method", "", "main.Foo.Baz")
    36  	return f.baz
    37  }
    38  
    39  func _() {}
    40  
    41  func (q *Quux) Do() {} //@mark(qDo, "Do"), symbol("(*Quux).Do", "Do", "Method", "", "main.Quux.Do")
    42  
    43  func main() { //@symbol("main", "main", "Function", "", "main.main")
    44  
    45  }
    46  
    47  type Stringer interface { //@symbol("Stringer", "Stringer", "Interface", "", "main.Stringer")
    48  	String() string //@symbol("String", "String", "Method", "Stringer", "main.Stringer.String")
    49  }
    50  
    51  type ABer interface { //@mark(ABerInterface, "ABer"), symbol("ABer", "ABer", "Interface", "", "main.ABer")
    52  	B()        //@symbol("B", "B", "Method", "ABer", "main.ABer.B")
    53  	A() string //@mark(ABerA, "A"), symbol("A", "A", "Method", "ABer", "main.ABer.A")
    54  }
    55  
    56  type WithEmbeddeds interface { //@symbol("WithEmbeddeds", "WithEmbeddeds", "Interface", "", "main.WithEmbeddeds")
    57  	Do()      //@symbol("Do", "Do", "Method", "WithEmbeddeds", "main.WithEmbeddeds.Do")
    58  	ABer      //@symbol("ABer", "ABer", "Interface", "WithEmbeddeds", "main.WithEmbeddeds.ABer")
    59  	io.Writer //@mark(ioWriter, "io.Writer"), symbol("io.Writer", "io.Writer", "Interface", "WithEmbeddeds", "main.WithEmbeddeds.Writer")
    60  }
    61  
    62  func Dunk() int { return 0 } //@symbol("Dunk", "Dunk", "Function", "", "main.Dunk")
    63  
    64  func dunk() {} //@symbol("dunk", "dunk", "Function", "", "main.dunk")