12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package ec
- import(
- "fmt"
- "io"
- "os"
- "bufio"
- "log"
- "surdeus.su/core/cli/mtool"
- )
- const(
- esc = '\\'
- )
- var(
- CharMap = map[string]string{
- "n":"\n",
- "b":"\b",
- "r":"\r",
- }
- )
- func
- handleEscChar(rd *bufio.Reader) error {
- r, _, e := rd.ReadRune()
- if e != nil {
- return e
- }
- fmt.Print(CharMap[string(r)])
- return nil
- }
- func
- Run(flags *mtool.Flags) {
- rd := bufio.NewReader(os.Stdin)
- for {
- r, _, e := rd.ReadRune()
- if e == io.EOF {
- break;
- } else if e != nil {
- log.Fatal(e)
- }
-
- if r == esc {
- handleEscChar(rd)
- } else {
- fmt.Print(string(r))
- }
- }
- }
|