Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import(
- "fmt"
- "log"
- "golang.org/x/crypto/ssh/terminal"
- "bufio"
- "os"
- "bytes"
- )
- func main() {
- reader := bufio.NewReader(os.Stdin)
- var buffer bytes.Buffer
- oldState, err := terminal.MakeRaw(0)
- if err != nil {
- log.Fatal(err)
- }
- defer terminal.Restore(0, oldState)
- num_chars := 0
- for true {
- char, _, err := reader.ReadRune();
- if char == 13 {
- fmt.Println("You typed ", num_chars, " characters")
- return
- }
- num_chars++
- if err != nil {
- log.Fatal(err)
- }
- buffer.WriteRune(char)
- fmt.Println(buffer.String())
- }
- if err != nil {
- fmt.Println(err)
- }
- }
- ~
Add Comment
Please, Sign In to add comment