// +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", "func(i foo.IntFoo)", "func")

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

// Bar is a function.
func Bar() { //@item(Bar, "Bar", "func()", "func", "Bar is a function.")
	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{
		Valu //@complete(" //", Value)
	}
  	_ = foo.StructFoo{
		Va        //@complete("a", Value, Valentine)
	}
	_ = foo.StructFoo{
		Value: 5, //@complete("a", Value)
	}
	_ = foo.StructFoo{
		//@complete("", Value, Valentine, foo, Bar, helper)
	}
	_ = foo.StructFoo{
		Value: Valen //@complete("le", Valentine)
	}
	_ = foo.StructFoo{
		Value:       //@complete(" //", Valentine, foo, Bar, helper)
	}
	_ = foo.StructFoo{
		Value:       //@complete(" ", Valentine, foo, Bar, helper)
	}
}
