async_tty/commands/
cursor.rs1use std::fmt;
2
3use crate::write_csi;
4
5pub struct CursorUp {
6 pub count: usize,
7}
8
9impl fmt::Display for CursorUp {
10 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
11 write_csi!(f, "{}A", self.count)
12 }
13}
14
15pub struct CursorDown {
16 pub count: usize,
17}
18
19impl fmt::Display for CursorDown {
20 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
21 write_csi!(f, "{}B", self.count)
22 }
23}
24
25pub struct CursorForward {
26 pub count: usize,
27}
28
29impl fmt::Display for CursorForward {
30 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
31 write_csi!(f, "{}C", self.count)
32 }
33}
34
35pub struct CursorBackward {
36 pub count: usize,
37}
38
39impl fmt::Display for CursorBackward {
40 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
41 write_csi!(f, "{}D", self.count)
42 }
43}
44
45pub struct CursorNextLine {
46 pub count: usize,
47}
48
49impl fmt::Display for CursorNextLine {
50 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
51 write_csi!(f, "{}E", self.count)
52 }
53}
54
55pub struct CursorPreviousLine {
56 pub count: usize,
57}
58
59impl fmt::Display for CursorPreviousLine {
60 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
61 write_csi!(f, "{}F", self.count)
62 }
63}
64
65pub struct CursorPosition {
66 pub row: usize,
67 pub column: usize,
68}
69
70impl fmt::Display for CursorPosition {
71 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
72 write_csi!(f, "{};{}H", self.row, self.column)
73 }
74}