types.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package readline
  2. import "strconv"
  3. const (
  4. CharNull = 0
  5. CharLineStart = 1
  6. CharBackward = 2
  7. CharInterrupt = 3
  8. CharDelete = 4
  9. CharLineEnd = 5
  10. CharForward = 6
  11. CharBell = 7
  12. CharCtrlH = 8
  13. CharTab = 9
  14. CharCtrlJ = 10
  15. CharKill = 11
  16. CharCtrlL = 12
  17. CharEnter = 13
  18. CharNext = 14
  19. CharPrev = 16
  20. CharBckSearch = 18
  21. CharFwdSearch = 19
  22. CharTranspose = 20
  23. CharCtrlU = 21
  24. CharCtrlW = 23
  25. CharCtrlY = 25
  26. CharCtrlZ = 26
  27. CharEsc = 27
  28. CharSpace = 32
  29. CharEscapeEx = 91
  30. CharBackspace = 127
  31. )
  32. const (
  33. KeyDel = 51
  34. KeyUp = 65
  35. KeyDown = 66
  36. KeyRight = 67
  37. KeyLeft = 68
  38. MetaEnd = 70
  39. MetaStart = 72
  40. )
  41. const (
  42. Esc = "\x1b"
  43. CursorSave = Esc + "[s"
  44. CursorRestore = Esc + "[u"
  45. CursorEOL = Esc + "[E"
  46. CursorBOL = Esc + "[1G"
  47. CursorHide = Esc + "[?25l"
  48. CursorShow = Esc + "[?25h"
  49. ClearToEOL = Esc + "[K"
  50. ClearLine = Esc + "[2K"
  51. ClearScreen = Esc + "[2J"
  52. CursorReset = Esc + "[0;0f"
  53. ColorGrey = Esc + "[38;5;245m"
  54. ColorDefault = Esc + "[0m"
  55. StartBracketedPaste = Esc + "[?2004h"
  56. EndBracketedPaste = Esc + "[?2004l"
  57. )
  58. func CursorUpN(n int) string {
  59. return Esc + "[" + strconv.Itoa(n) + "A"
  60. }
  61. func CursorDownN(n int) string {
  62. return Esc + "[" + strconv.Itoa(n) + "B"
  63. }
  64. func CursorRightN(n int) string {
  65. return Esc + "[" + strconv.Itoa(n) + "C"
  66. }
  67. func CursorLeftN(n int) string {
  68. return Esc + "[" + strconv.Itoa(n) + "D"
  69. }
  70. var (
  71. CursorUp = CursorUpN(1)
  72. CursorDown = CursorDownN(1)
  73. CursorRight = CursorRightN(1)
  74. CursorLeft = CursorLeftN(1)
  75. )
  76. const (
  77. CharBracketedPaste = 50
  78. CharBracketedPasteStart = "00~"
  79. CharBracketedPasteEnd = "01~"
  80. )