jsre: fix <tab><tab> completion magic

pull/2235/head
Felix Lange 9 years ago
parent 5542b51b50
commit f08680985a
  1. 15
      jsre/completion.go
  2. 6
      jsre/completion_test.go

@ -55,9 +55,18 @@ func getCompletions(vm *otto.Otto, line string) (results []string) {
}
}
})
// e.g. web3<tab><tab> append dot since its an object
if obj, _ = vm.Object(line); obj != nil {
results = append(results, line+".")
// Append opening parenthesis (for functions) or dot (for objects)
// if the line itself is the only completion.
if len(results) == 1 && results[0] == line {
obj, _ := vm.Object(line)
if obj != nil {
if obj.Class() == "Function" {
results[0] += "("
} else {
results[0] += "."
}
}
}
sort.Strings(results)

@ -40,7 +40,11 @@ func TestCompleteKeywords(t *testing.T) {
}{
{
input: "x",
want: []string{"x", "x."},
want: []string{"x."},
},
{
input: "x.someMethod",
want: []string{"x.someMethod("},
},
{
input: "x.",

Loading…
Cancel
Save