From 55c346b46a29c2728fed062bb52db3a76816ca83 Mon Sep 17 00:00:00 2001 From: carmark Date: Sun, 26 Apr 2015 14:22:18 +0800 Subject: [PATCH] add the main function of this pseudo-terminal-go --- test.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 test.go diff --git a/test.go b/test.go new file mode 100644 index 0000000..29dd616 --- /dev/null +++ b/test.go @@ -0,0 +1,29 @@ +package main + +import ( + "io" + "fmt" + "strings" + "terminal" +) + +func main() { + term, _ := terminal.NewWithStdInOut() + defer term.ReleaseFromStdInOut() // defer this + term.SetPrompt("root@hello: # ") + line, err:= term.ReadLine() + for { + if err == io.EOF { + term.Write([]byte(line)) + fmt.Println() + return + } + if (err != nil && strings.Contains(err.Error(), "control-c break")) || len(line) == 0{ + line, err = term.ReadLine() + } else { + term.Write([]byte(line+"\r\n")) + line, err = term.ReadLine() + } + } + term.Write([]byte(line)) +}