package snippets

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")

type Foo struct {
	Bar int //@item(snipFieldBar, "Bar", "int", "field")
}

func (Foo) Baz() func() {} //@item(snipMethodBaz, "Baz", "func() func()", "method")
func (Foo) BazBar() func() {} //@item(snipMethodBazBar, "BazBar", "func() func()", "method")

func _() {
	f //@snippet(" //", snipFoo, "foo(${1:})", "foo(${1:i int}, ${2:b bool})")

	bar //@snippet(" //", snipBar, "bar(${1:})", "bar(${1:fn func()})")

	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{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")
}
