// +build go1.11

package bar

import (
	"golang.org/x/tools/internal/lsp/foo" //@item(foo, "foo", "\"golang.org/x/tools/internal/lsp/foo\"", "package")
)

func helper(i foo.IntFoo) {} //@item(helper, "helper(i foo.IntFoo)", "", "func")

func _() {
	help //@complete("l", helper)
	_ = foo.StructFoo{} //@complete("S", Foo, IntFoo, StructFoo)
}

func Bar() { //@item(Bar, "Bar()", "", "func")
	foo.Foo()        //@complete("F", Foo, IntFoo, StructFoo)
	var _ foo.IntFoo //@complete("I", Foo, IntFoo, StructFoo)
	foo.()           //@complete("(", Foo, IntFoo, StructFoo)
}

func _() {
	var Valentine int //@item(Valentine, "Valentine", "int", "var")

	_ = foo.StructFoo{
		Val       //@complete("l", Value)
	}
  	_ = foo.StructFoo{
		Va        //@complete("a", Value)
	}
	_ = foo.StructFoo{
		Value: 5, //@complete("a", Value)
	}
	_ = foo.StructFoo{
		//@complete("", Value)
	}
	_ = foo.StructFoo{
		Value: Valen //@complete("le", Valentine)
	}
	_ = foo.StructFoo{
		Value:       //@complete(" //", Valentine, foo, Bar, helper)
	}
	_ = foo.StructFoo{
		Value:       //@complete(" ", Valentine, foo, Bar, helper)
	}
}
