| This test checks that completion works immediately after a dot |
| in a selector expression when the AST is broken due to a syntax error. |
| See https://github.com/golang/go/issues/65529. |
| |
| -- flags -- |
| -ignore_extra_diags |
| |
| -- go.mod -- |
| module mod.test |
| |
| go 1.21 |
| |
| -- dot_pkg.go -- |
| package main |
| |
| import "math" |
| |
| func main() { |
| math.Sqrt(, 0) |
| math. //@rank(re"\\.()", "Abs", "Sqrt"),acceptcompletion(re"\\.()", "Abs", dot_pkg) |
| } |
| |
| -- @dot_pkg/dot_pkg.go -- |
| package main |
| |
| import "math" |
| |
| func main() { |
| math.Sqrt(, 0) |
| math.Abs(${1:}) //@rank(re"\\.()", "Abs", "Sqrt"),acceptcompletion(re"\\.()", "Abs", dot_pkg) |
| } |
| |
| -- dot_field.go -- |
| package main |
| |
| import "fmt" |
| |
| type Foo struct { |
| BarInt int |
| } |
| |
| func main() { |
| f := Foo{} |
| fmt.Println(, 0) |
| f. //@rank(re"\\.()", "BarInt"),acceptcompletion(re"\\.()", "BarInt", dot_field) |
| } |
| |
| -- @dot_field/dot_field.go -- |
| package main |
| |
| import "fmt" |
| |
| type Foo struct { |
| BarInt int |
| } |
| |
| func main() { |
| f := Foo{} |
| fmt.Println(, 0) |
| f.BarInt //@rank(re"\\.()", "BarInt"),acceptcompletion(re"\\.()", "BarInt", dot_field) |
| } |
| |