MCPcopy Index your code
hub / github.com/abiosoft/ishell / getPosition

Function getPosition

ishell.go:694–720  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

692}
693
694func getPosition() (int, int, error) {
695 fd := int(os.Stdout.Fd())
696 state, err := readline.MakeRaw(fd)
697 if err != nil {
698 return 0, 0, err
699 }
700 defer readline.Restore(fd, state)
701 fmt.Printf("\033[6n")
702 var out string
703 reader := bufio.NewReader(os.Stdin)
704 for {
705 b, err := reader.ReadByte()
706 if err != nil || b == 'R' {
707 break
708 }
709 if unicode.IsPrint(rune(b)) {
710 out += string(b)
711 }
712 }
713 var row, col int
714 _, err = fmt.Sscanf(out, "[%d;%d", &row, &col)
715 if err != nil {
716 return 0, 0, err
717 }
718
719 return col, row, nil
720}

Callers

nothing calls this directly

Calls 1

PrintfMethod · 0.65

Tested by

no test coverage detected