diff options
Diffstat (limited to 'gopls/internal/lsp/testdata/snippets/snippets.go.in')
-rw-r--r-- | gopls/internal/lsp/testdata/snippets/snippets.go.in | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/gopls/internal/lsp/testdata/snippets/snippets.go.in b/gopls/internal/lsp/testdata/snippets/snippets.go.in new file mode 100644 index 000000000..58150c644 --- /dev/null +++ b/gopls/internal/lsp/testdata/snippets/snippets.go.in @@ -0,0 +1,61 @@ +package snippets + +type AliasType = int //@item(sigAliasType, "AliasType", "AliasType", "type") + +func foo(i int, b bool) {} //@item(snipFoo, "foo", "func(i int, b bool)", "func") +func bar(fn func()) func() {} //@item(snipBar, "bar", "func(fn func())", "func") +func baz(at AliasType, b bool) {} //@item(snipBaz, "baz", "func(at AliasType, b bool)", "func") + +type Foo struct { + Bar int //@item(snipFieldBar, "Bar", "int", "field") + Func func(at AliasType) error //@item(snipFieldFunc, "Func", "func(at AliasType) error", "field") +} + +func (Foo) Baz() func() {} //@item(snipMethodBaz, "Baz", "func() func()", "method") +func (Foo) BazBar() func() {} //@item(snipMethodBazBar, "BazBar", "func() func()", "method") +func (Foo) BazBaz(at AliasType) func() {} //@item(snipMethodBazBaz, "BazBaz", "func(at AliasType) func()", "method") + +func _() { + f //@snippet(" //", snipFoo, "foo(${1:})", "foo(${1:i int}, ${2:b bool})") + + bar //@snippet(" //", snipBar, "bar(${1:})", "bar(${1:fn func()})") + + baz //@snippet(" //", snipBaz, "baz(${1:})", "baz(${1:at AliasType}, ${2:b bool})") + baz() //@signature("(", "baz(at AliasType, b bool)", 0) + + bar(nil) //@snippet("(", snipBar, "bar", "bar") + bar(ba) //@snippet(")", snipBar, "bar(${1:})", "bar(${1:fn func()})") + var f Foo + bar(f.Ba) //@snippet(")", snipMethodBaz, "Baz()", "Baz()") + (bar)(nil) //@snippet(")", snipBar, "bar(${1:})", "bar(${1:fn func()})") + (f.Ba)() //@snippet(")", snipMethodBaz, "Baz()", "Baz()") + + Foo{ + B //@snippet(" //", snipFieldBar, "Bar: ${1:},", "Bar: ${1:int},") + } + + Foo{ + F //@snippet(" //", snipFieldFunc, "Func: ${1:},", "Func: ${1:func(at AliasType) error},") + } + + Foo{B} //@snippet("}", snipFieldBar, "Bar: ${1:}", "Bar: ${1:int}") + Foo{} //@snippet("}", snipFieldBar, "Bar: ${1:}", "Bar: ${1:int}") + + Foo{Foo{}.B} //@snippet("} ", snipFieldBar, "Bar", "Bar") + + var err error + err.Error() //@snippet("E", Error, "Error()", "Error()") + f.Baz() //@snippet("B", snipMethodBaz, "Baz()", "Baz()") + + f.Baz() //@snippet("(", snipMethodBazBar, "BazBar", "BazBar") + + f.Baz() //@snippet("B", snipMethodBazBaz, "BazBaz(${1:})", "BazBaz(${1:at AliasType})") +} + +func _() { + type bar struct { + a int + b float64 //@item(snipBarB, "b", "float64", "field") + } + bar{b} //@snippet("}", snipBarB, "b: ${1:}", "b: ${1:float64}") +} |