This test contains tests for basic functionality of the workspace/symbol
request.

TODO(rfindley): add a test for the legacy 'fuzzy' symbol matcher using setting ("symbolMatcher": "fuzzy"). This test uses the default matcher ("fastFuzzy").

-- flags --
-ignore_extra_diags

-- go.mod --
module mod.test/symbols

go 1.18

-- query.go --
package symbols

//@workspacesymbol("rgop", rgop)
//@workspacesymbol("randoma", randoma)
//@workspacesymbol("randomb", randomb)

-- a/a.go --
package a

var RandomGopherVariableA = "a"

const RandomGopherConstantA = "a"

const (
	randomgopherinvariable = iota
)

-- a/a_test.go --
package a

var RandomGopherTestVariableA = "a"

-- a/a_x_test.go --
package a_test

var RandomGopherXTestVariableA = "a"

-- b/b.go --
package b

var RandomGopherVariableB = "b"

type RandomGopherStructB struct {
	Bar int
}

-- @rgop --
b/b.go:5:6-25 RandomGopherStructB Struct
a/a.go:5:7-28 RandomGopherConstantA Constant
a/a.go:3:5-26 RandomGopherVariableA Variable
b/b.go:3:5-26 RandomGopherVariableB Variable
a/a_test.go:3:5-30 RandomGopherTestVariableA Variable
a/a_x_test.go:3:5-31 RandomGopherXTestVariableA Variable
a/a.go:8:2-24 randomgopherinvariable Constant
b/b.go:6:2-5 RandomGopherStructB.Bar Field
-- @randoma --
a/a.go:5:7-28 RandomGopherConstantA Constant
a/a.go:3:5-26 RandomGopherVariableA Variable
b/b.go:3:5-26 RandomGopherVariableB Variable
a/a.go:8:2-24 randomgopherinvariable Constant
a/a_test.go:3:5-30 RandomGopherTestVariableA Variable
a/a_x_test.go:3:5-31 RandomGopherXTestVariableA Variable
b/b.go:6:2-5 RandomGopherStructB.Bar Field
-- @randomb --
b/b.go:5:6-25 RandomGopherStructB Struct
a/a.go:3:5-26 RandomGopherVariableA Variable
b/b.go:3:5-26 RandomGopherVariableB Variable
a/a.go:8:2-24 randomgopherinvariable Constant
a/a_test.go:3:5-30 RandomGopherTestVariableA Variable
a/a_x_test.go:3:5-31 RandomGopherXTestVariableA Variable
b/b.go:6:2-5 RandomGopherStructB.Bar Field
