keys.go 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package config
  2. type (
  3. NavigationKeys struct {
  4. SelectPrevious string `toml:"select_previous"`
  5. SelectNext string `toml:"select_next"`
  6. SelectFirst string `toml:"select_first"`
  7. SelectLast string `toml:"select_last"`
  8. }
  9. Keys struct {
  10. FocusGuildsTree string `toml:"focus_guilds_tree"`
  11. FocusMessagesText string `toml:"focus_messages_text"`
  12. FocusMessageInput string `toml:"focus_message_input"`
  13. ToggleGuildsTree string `toml:"toggle_guilds_tree"`
  14. GuildsTree GuildsTreeKeys `toml:"guilds_tree"`
  15. MessagesText MessagesTextKeys `toml:"messages_text"`
  16. MessageInput MessageInputKeys `toml:"message_input"`
  17. Logout string `toml:"logout"`
  18. Quit string `toml:"quit"`
  19. }
  20. GuildsTreeKeys struct {
  21. NavigationKeys
  22. SelectCurrent string `toml:"select_current"`
  23. YankID string `toml:"yank_id"`
  24. }
  25. MessagesTextKeys struct {
  26. NavigationKeys
  27. SelectReply string `toml:"select_reply"`
  28. SelectPin string `toml:"select_pin"`
  29. Reply string `toml:"reply"`
  30. ReplyMention string `toml:"reply_mention"`
  31. Delete string `toml:"delete"`
  32. YankID string `toml:"yank_id"`
  33. YankContent string `toml:"yank_content"`
  34. YankURL string `toml:"yank_url"`
  35. Open string `toml:"open"`
  36. }
  37. MessageInputKeys struct {
  38. Send string `toml:"send"`
  39. Editor string `toml:"editor"`
  40. Cancel string `toml:"cancel"`
  41. }
  42. )
  43. func defaultKeys() Keys {
  44. return Keys{
  45. FocusGuildsTree: "Ctrl+G",
  46. FocusMessagesText: "Ctrl+T",
  47. FocusMessageInput: "Ctrl+P",
  48. ToggleGuildsTree: "Ctrl+B",
  49. Logout: "Ctrl+D",
  50. Quit: "Ctrl+C",
  51. GuildsTree: GuildsTreeKeys{
  52. NavigationKeys: NavigationKeys{
  53. SelectPrevious: "Rune[k]",
  54. SelectNext: "Rune[j]",
  55. SelectFirst: "Rune[g]",
  56. SelectLast: "Rune[G]",
  57. },
  58. SelectCurrent: "Enter",
  59. YankID: "Rune[y]",
  60. },
  61. MessagesText: MessagesTextKeys{
  62. NavigationKeys: NavigationKeys{
  63. SelectPrevious: "Rune[k]",
  64. SelectNext: "Rune[j]",
  65. SelectFirst: "Rune[g]",
  66. SelectLast: "Rune[G]",
  67. },
  68. SelectReply: "Rune[s]",
  69. SelectPin: "Rune[p]",
  70. Reply: "Rune[r]",
  71. ReplyMention: "Rune[R]",
  72. Delete: "Rune[d]",
  73. YankContent: "Rune[y]",
  74. YankURL: "Rune[i]",
  75. Open: "Rune[o]",
  76. },
  77. MessageInput: MessageInputKeys{
  78. Send: "Enter",
  79. Editor: "Ctrl+E",
  80. Cancel: "Esc",
  81. },
  82. }
  83. }