"fmt"
"os"
"strconv"
+ "strings"
"github.com/zyedidia/clipboard"
"github.com/zyedidia/tcell"
screenWasNil := screen == nil
if !screenWasNil {
screen.Fini()
+ screen = nil
}
fmt.Println(msg...)
- messenger.AddLog(fmt.Sprint(msg...))
fmt.Print("\nPress enter to continue")
reader := bufio.NewReader(os.Stdin)
func (m *Messenger) getBuffer() *Buffer {
if m.log == nil {
- m.log = NewBuffer([]byte{}, "")
- m.log.Name = "Log"
+ m.log = NewBuffer(strings.NewReader(""), "")
+ m.log.name = "Log"
}
return m.log
}
// Prompt sends the user a message and waits for a response to be typed in
// This function blocks the main loop while waiting for input
-func (m *Messenger) Prompt(prompt, historyType string, completionTypes ...Completion) (string, bool) {
+func (m *Messenger) Prompt(prompt, placeholder, historyType string, completionTypes ...Completion) (string, bool) {
m.hasPrompt = true
m.Message(prompt)
if _, ok := m.history[historyType]; !ok {
}
m.historyNum = len(m.history[historyType]) - 1
- response, canceled := "", true
+ response, canceled := placeholder, true
+ m.response = response
+ m.cursorx = Count(placeholder)
RedrawAll()
for m.hasPrompt {