diff --git a/_example/echo_prompt.go b/_example/echo_prompt.go new file mode 100644 index 0000000..dc96bd9 --- /dev/null +++ b/_example/echo_prompt.go @@ -0,0 +1,36 @@ +package main + +import ( + "fmt" + + "github.com/c-bata/go-prompt-toolkit/prompt" +) + +func executor(b *prompt.Buffer) string { + r := "Your input: " + b.Text() + return r +} + +func completer(b *prompt.Buffer) []string { + if w := b.Document().GetWordBeforeCursor(); w == "" { + return []string{} + } + return []string{ + "users", + "sites", + "articles", + "comments", + } +} + +func main() { + pt := prompt.NewPrompt( + executor, + completer, + prompt.OptionMaxCompletions(8), + prompt.OptionPrefix(">>> "), + prompt.OptionTitle("SQLITE CLI"), + ) + defer fmt.Println("\nGoodbye!") + pt.Run() +} diff --git a/main.go b/main.go deleted file mode 100644 index 4ea331f..0000000 --- a/main.go +++ /dev/null @@ -1,63 +0,0 @@ -package main - -import ( - "fmt" - - "github.com/c-bata/go-prompt-toolkit/prompt" -) - -func executor(b *prompt.Buffer) string { - r := "Your input: " + b.Text() - return r -} - -func completer(b *prompt.Buffer) []string { - if w := b.Document().GetWordBeforeCursor(); w == "" { - return []string{} - } else { - if []rune(w)[0] == []rune("s")[0] { - return []string{"select"} - } else if []rune(w)[0] == []rune("w")[0] { - return []string{"where"} - } else if []rune(w)[0] == []rune("d")[0] { - return []string{"drop", "delete"} - } else if []rune(w)[0] == []rune("f")[0] { - return []string{"from"} - } - } - return []string{ - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff", - } -} - -func main() { - pt := prompt.NewPrompt( - executor, - completer, - prompt.MaxCompletionsOption(8), - prompt.PrefixOption(">>> "), - prompt.TitleOption("SQLITE CLI"), - prompt.TextColorOption(prompt.Red), - prompt.ResultTextColorOption(prompt.DarkGray), - prompt.CompletedTextColorOption(prompt.Green), - prompt.CompletionTextColor(prompt.Black), - prompt.SelectedCompletionTextColor(prompt.White), - ) - defer fmt.Println("\nGoodbye!") - fmt.Print("Hello! This is a example appication using prompt-toolkit.\n") - pt.Run() -}