func configureLiner(linerState *liner.State) { linerState.SetCtrlCAborts(true) linerState.SetCompleter(func(line string) (c []string) { for _, n := range commandCompletions { if strings.HasPrefix(n, strings.ToLower(line)) { c = append(c, n) } } return }) /* TODO // WordCompleter takes the currently edited line with the cursor position and // returns the completion candidates for the partial word to be completed. If // the line is "Hello, wo!!!" and the cursor is before the first '!', // ("Hello, wo!!!", 9) is passed to the completer which may returns // ("Hello, ", {"world", "Word"}, "!!!") to have "Hello, world!!!". linerState.SetWordCompleter(func(line string, pos int) (head string, completions []string, tail string) { for _, n := range wordCompletions { if strings.HasPrefix(n, strings.ToLower(line)) { c = append(c, n) } } return }) */ }