| package comment_completion |
| |
| var p bool |
| |
| //@complete(re"$") |
| |
| func _() { |
| var a int |
| |
| switch a { |
| case 1: |
| //@complete(re"$") |
| _ = a |
| } |
| |
| var b chan int |
| select { |
| case <-b: |
| //@complete(re"$") |
| _ = b |
| } |
| |
| var ( |
| //@complete(re"$") |
| _ = a |
| ) |
| } |
| |
| // //@complete(" ", variableC) |
| var C string //@item(variableC, "C", "string", "var") //@complete(" ", variableC) |
| |
| // //@complete(" ", constant) |
| const Constant = "example" //@item(constant, "Constant", "string", "const") //@complete(" ", constant) |
| |
| // //@complete(" ", structType, fieldB, fieldA) |
| type StructType struct { //@item(structType, "StructType", "struct{...}", "struct") //@complete(" ", structType, fieldA, fieldB) |
| // //@complete(" ", fieldA, structType, fieldB) |
| A string //@item(fieldA, "A", "string", "field") //@complete(" ", fieldA, structType, fieldB) |
| b int //@item(fieldB, "b", "int", "field") //@complete(" ", fieldB, structType, fieldA) |
| } |
| |
| // //@complete(" ", method, structRecv, paramX, resultY, fieldB, fieldA) |
| func (structType *StructType) Method(X int) (Y int) { //@item(structRecv, "structType", "*StructType", "var"),item(method, "Method", "func(X int) (Y int)", "method"),item(paramX, "X", "int", "var"),item(resultY, "Y", "int", "var") |
| // //@complete(" ", method, structRecv, paramX, resultY, fieldB, fieldA) |
| return |
| } |
| |
| // //@complete(" ", newType) |
| type NewType string //@item(newType, "NewType", "string", "type") //@complete(" ", newType) |
| |
| // //@complete(" ", testInterface, testA, testB) |
| type TestInterface interface { //@item(testInterface, "TestInterface", "interface{...}", "interface") |
| // //@complete(" ", testA, testInterface, testB) |
| TestA(L string) (M int) //@item(testA, "TestA", "func(L string) (M int)", "method"),item(paramL, "L", "var", "string"),item(resM, "M", "var", "int") //@complete(" ", testA, testInterface, testB) |
| TestB(N int) bool //@item(testB, "TestB", "func(N int) bool", "method"),item(paramN, "N", "var", "int") //@complete(" ", testB, testInterface, testA) |
| } |
| |
| // //@complete(" ", function) |
| func Function() int { //@item(function, "Function", "func() int", "func") //@complete(" ", function) |
| // //@complete(" ", function) |
| return 0 |
| } |
| |
| // This tests multiline block comments and completion with prefix |
| // Lorem Ipsum Multili//@complete("Multi", multiline) |
| // Lorem ipsum dolor sit ametom |
| func Multiline() int { //@item(multiline, "Multiline", "func() int", "func") |
| // //@complete(" ", multiline) |
| return 0 |
| } |