2019-08-27 17:41:48 -06:00
|
|
|
// Copyright 2019 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
2019-09-17 09:10:48 -06:00
|
|
|
package fuzzy
|
2019-08-27 17:41:48 -06:00
|
|
|
|
|
|
|
func _() {
|
|
|
|
var a struct {
|
|
|
|
fabar int
|
|
|
|
fooBar string
|
|
|
|
}
|
|
|
|
|
|
|
|
a.fabar //@item(fuzzFabarField, "a.fabar", "int", "field")
|
|
|
|
a.fooBar //@item(fuzzFooBarField, "a.fooBar", "string", "field")
|
|
|
|
|
2019-09-17 09:10:48 -06:00
|
|
|
afa //@fuzzy(" //", fuzzFabarField, fuzzFooBarField)
|
|
|
|
afb //@fuzzy(" //", fuzzFooBarField, fuzzFabarField)
|
2019-08-27 17:41:48 -06:00
|
|
|
|
2019-09-17 09:10:48 -06:00
|
|
|
fab //@fuzzy(" //", fuzzFabarField)
|
2019-08-27 17:41:48 -06:00
|
|
|
|
|
|
|
var myString string
|
2019-09-17 09:10:48 -06:00
|
|
|
myString = af //@fuzzy(" //", fuzzFooBarField, fuzzFabarField)
|
2019-08-27 17:41:48 -06:00
|
|
|
|
|
|
|
var b struct {
|
|
|
|
c struct {
|
|
|
|
d struct {
|
|
|
|
e struct {
|
|
|
|
abc string
|
|
|
|
}
|
|
|
|
abc float32
|
|
|
|
}
|
|
|
|
abc bool
|
|
|
|
}
|
|
|
|
abc int
|
|
|
|
}
|
|
|
|
|
|
|
|
b.abc //@item(fuzzABCInt, "b.abc", "int", "field")
|
|
|
|
b.c.abc //@item(fuzzABCbool, "b.c.abc", "bool", "field")
|
|
|
|
b.c.d.abc //@item(fuzzABCfloat, "b.c.d.abc", "float32", "field")
|
|
|
|
b.c.d.e.abc //@item(fuzzABCstring, "b.c.d.e.abc", "string", "field")
|
|
|
|
|
|
|
|
// in depth order by default
|
2019-09-17 09:10:48 -06:00
|
|
|
abc //@fuzzy(" //", fuzzABCInt, fuzzABCbool, fuzzABCfloat)
|
2019-08-27 17:41:48 -06:00
|
|
|
|
|
|
|
// deep candidate that matches expected type should still ranked first
|
|
|
|
var s string
|
2019-09-17 09:10:48 -06:00
|
|
|
s = abc //@fuzzy(" //", fuzzABCstring, fuzzABCInt, fuzzABCbool)
|
2019-08-27 17:41:48 -06:00
|
|
|
}
|