| This test exercises the "go_search" MCP tool. |
| |
| -- flags -- |
| -mcp |
| -ignore_extra_diags |
| |
| -- go.mod -- |
| module example.com |
| |
| go 1.21 |
| |
| //@mcptool("go_search", `{"query": "foo"}`, output=foo) |
| //@mcptool("go_search", `{"query": "bar"}`, output=bar) |
| //@mcptool("go_search", `{"query": "baz"}`, output=baz) |
| |
| -- main.go -- |
| package main |
| |
| import ( |
| "example.com/a" |
| "example.com/b" |
| ) |
| |
| func FOO() {} |
| |
| type baz int |
| |
| func main() { |
| println(a.Foo + b.Ar) |
| } |
| -- a/a.go -- |
| package a |
| |
| const ( |
| Foo = 1 |
| Bar = 2 |
| ) |
| |
| type B struct { |
| ar string |
| } |
| |
| -- b/b.go -- |
| package b |
| |
| const ( |
| aZ = 1 |
| Ar = 2 |
| ) |
| |
| var fOo = 3 |
| |
| -- @foo -- |
| Top symbol matches: |
| FOO (Function in `$WORKDIR/main.go`) |
| Foo (Constant in `$WORKDIR/a/a.go`) |
| fOo (Variable in `$WORKDIR/b/b.go`) |
| -- @bar -- |
| Top symbol matches: |
| Bar (Constant in `$WORKDIR/a/a.go`) |
| b.Ar (Constant in `$WORKDIR/b/b.go`) |
| B.ar (Field in `$WORKDIR/a/a.go`) |
| -- @baz -- |
| Top symbol matches: |
| baz (Type in `$WORKDIR/main.go`) |
| b.aZ (Constant in `$WORKDIR/b/b.go`) |