| This file contains tests for symbol matches using the casesensitive matcher. |
| |
| For historical reasons, it also verifies general behavior of the symbol search. |
| |
| -- settings.json -- |
| { |
| "symbolMatcher": "casesensitive" |
| } |
| |
| -- go.mod -- |
| module mod.test/casesensitive |
| |
| go 1.18 |
| |
| -- main.go -- |
| package main |
| |
| //@workspacesymbol("main.main", main) |
| //@workspacesymbol("p.Message", Message) |
| //@workspacesymbol("main.myvar", myvar) |
| //@workspacesymbol("main.myType", myType) |
| //@workspacesymbol("main.myType.Blahblah", blahblah) |
| //@workspacesymbol("main.myStruct", myStruct) |
| //@workspacesymbol("main.myStruct.myStructField", myStructField) |
| //@workspacesymbol("main.myInterface", myInterface) |
| //@workspacesymbol("main.myInterface.DoSomeCoolStuff", DoSomeCoolStuff) |
| //@workspacesymbol("main.embed.myStruct", embeddedStruct) |
| //@workspacesymbol("main.embed.nestedStruct.nestedStruct2.int", int) |
| //@workspacesymbol("main.embed.nestedInterface.myInterface", nestedInterface) |
| //@workspacesymbol("main.embed.nestedInterface.nestedMethod", nestedMethod) |
| //@workspacesymbol("dunk", dunk) |
| //@workspacesymbol("Dunk", Dunk) |
| |
| import ( |
| "encoding/json" |
| "fmt" |
| ) |
| |
| func main() { // function |
| fmt.Println("Hello") |
| } |
| |
| var myvar int // variable |
| |
| type myType string // basic type |
| |
| type myDecoder json.Decoder // to use the encoding/json import |
| |
| func (m *myType) Blahblah() {} // method |
| |
| type myStruct struct { // struct type |
| myStructField int // struct field |
| } |
| |
| type myInterface interface { // interface |
| DoSomeCoolStuff() string // interface method |
| } |
| |
| type embed struct { |
| myStruct |
| |
| nestedStruct struct { |
| nestedField int |
| |
| nestedStruct2 struct { |
| int |
| } |
| } |
| |
| nestedInterface interface { |
| myInterface |
| nestedMethod() |
| } |
| } |
| |
| func Dunk() int { return 0 } |
| |
| func dunk() {} |
| |
| -- p/p.go -- |
| package p |
| |
| const Message = "Hello World." // constant |
| -- @DoSomeCoolStuff -- |
| main.go:41:2-17 main.myInterface.DoSomeCoolStuff Method |
| -- @Dunk -- |
| main.go:61:6-10 Dunk Function |
| -- @Message -- |
| p/p.go:3:7-14 p.Message Constant |
| -- @blahblah -- |
| main.go:34:18-26 main.myType.Blahblah Method |
| -- @dunk -- |
| main.go:63:6-10 dunk Function |
| -- @int -- |
| main.go:51:4-7 main.embed.nestedStruct.nestedStruct2.int Field |
| -- @main -- |
| main.go:24:6-10 main.main Function |
| -- @myInterface -- |
| main.go:40:6-17 main.myInterface Interface |
| main.go:41:2-17 main.myInterface.DoSomeCoolStuff Method |
| -- @myStruct -- |
| main.go:36:6-14 main.myStruct Struct |
| main.go:37:2-15 main.myStruct.myStructField Field |
| -- @myStructField -- |
| main.go:37:2-15 main.myStruct.myStructField Field |
| -- @myType -- |
| main.go:30:6-12 main.myType Class |
| main.go:34:18-26 main.myType.Blahblah Method |
| -- @myvar -- |
| main.go:28:5-10 main.myvar Variable |
| -- @nestedInterface -- |
| main.go:56:3-14 main.embed.nestedInterface.myInterface Interface |
| -- @nestedMethod -- |
| main.go:57:3-15 main.embed.nestedInterface.nestedMethod Method |
| -- @embeddedStruct -- |
| main.go:45:2-10 main.embed.myStruct Field |