aboutsummaryrefslogtreecommitdiffstats
path: root/jsre/completion.go
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2016-04-13 19:05:29 +0800
committerFelix Lange <fjl@twurst.com>2016-04-13 19:05:29 +0800
commite50e3bea495d96de9e67d4e9ab6fd9a9de7ba551 (patch)
tree37f57b694f59b2de2541e69a96ae80edfaa4e263 /jsre/completion.go
parentb34b130fb5f8de8bc875c4ddadff044a41c074b4 (diff)
parentbea56d84e53c255febaad5cb26d30122d87d02d9 (diff)
downloaddexon-e50e3bea495d96de9e67d4e9ab6fd9a9de7ba551.tar
dexon-e50e3bea495d96de9e67d4e9ab6fd9a9de7ba551.tar.gz
dexon-e50e3bea495d96de9e67d4e9ab6fd9a9de7ba551.tar.bz2
dexon-e50e3bea495d96de9e67d4e9ab6fd9a9de7ba551.tar.lz
dexon-e50e3bea495d96de9e67d4e9ab6fd9a9de7ba551.tar.xz
dexon-e50e3bea495d96de9e67d4e9ab6fd9a9de7ba551.tar.zst
dexon-e50e3bea495d96de9e67d4e9ab6fd9a9de7ba551.zip
Merge pull request #2235 from fjl/chaindb-api-and-console-fixes
eth: add chaindbProperty to debug API (+ console fixes)
Diffstat (limited to 'jsre/completion.go')
-rw-r--r--jsre/completion.go19
1 files changed, 15 insertions, 4 deletions
diff --git a/jsre/completion.go b/jsre/completion.go
index e84a5b75c..7f94dabfc 100644
--- a/jsre/completion.go
+++ b/jsre/completion.go
@@ -27,7 +27,9 @@ import (
// evaluated, callers need to make sure that evaluating line does not have side effects.
func (jsre *JSRE) CompleteKeywords(line string) []string {
var results []string
- jsre.do(func(vm *otto.Otto) { results = getCompletions(vm, line) })
+ jsre.Do(func(vm *otto.Otto) {
+ results = getCompletions(vm, line)
+ })
return results
}
@@ -53,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)