keys.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package config
  2. type (
  3. Keys struct {
  4. Normal NormalModeKeys `toml:"normal"`
  5. Insert InsertModeKeys `toml:"insert"`
  6. }
  7. NormalModeKeys struct {
  8. InsertMode string `toml:"insert_mode"`
  9. FocusGuildsTree string `toml:"focus_guilds_tree"`
  10. FocusMessagesText string `toml:"focus_messages_text"`
  11. ToggleGuildsTree string `toml:"toggle_guild_tree"`
  12. GuildsTree GuildsTreeNormalModeKeys `toml:"guilds_tree"`
  13. MessagesText MessagesTextNormalModeKeys `toml:"messages_text"`
  14. }
  15. GuildsTreeNormalModeKeys struct {
  16. SelectCurrent string `toml:"select_current"`
  17. SelectPrevious string `toml:"select_previous"`
  18. SelectNext string `toml:"select_next"`
  19. SelectFirst string `toml:"select_first"`
  20. SelectLast string `toml:"select_last"`
  21. }
  22. MessagesTextNormalModeKeys struct {
  23. SelectPrevious string `toml:"select_previous"`
  24. SelectNext string `toml:"select_next"`
  25. SelectFirst string `toml:"select_first"`
  26. SelectLast string `toml:"select_last"`
  27. SelectReply string `toml:"select_reply"`
  28. Reply string `toml:"reply"`
  29. ReplyMention string `toml:"reply_mention"`
  30. Delete string `toml:"delete"`
  31. Yank string `toml:"yank"`
  32. Open string `toml:"open"`
  33. }
  34. InsertModeKeys struct {
  35. NormalMode string `toml:"normal_mode"`
  36. MessageInput MessageInputInsertModeKeys `toml:"message_input"`
  37. }
  38. MessageInputInsertModeKeys struct {
  39. Send string `toml:"send"`
  40. Editor string `toml:"editor"`
  41. }
  42. )
  43. func defaultKeys() Keys {
  44. return Keys{
  45. Normal: NormalModeKeys{
  46. InsertMode: "Rune[i]",
  47. FocusGuildsTree: "Ctrl+G",
  48. FocusMessagesText: "Ctrl+T",
  49. ToggleGuildsTree: "Ctrl+B",
  50. GuildsTree: GuildsTreeNormalModeKeys{
  51. SelectCurrent: "Enter",
  52. SelectPrevious: "Rune[k]",
  53. SelectNext: "Rune[j]",
  54. SelectFirst: "Rune[g]",
  55. SelectLast: "Rune[G]",
  56. },
  57. MessagesText: MessagesTextNormalModeKeys{
  58. SelectPrevious: "Rune[k]",
  59. SelectNext: "Rune[j]",
  60. SelectFirst: "Rune[g]",
  61. SelectLast: "Rune[G]",
  62. SelectReply: "Rune[s]",
  63. Reply: "Rune[r]",
  64. ReplyMention: "Rune[R]",
  65. Delete: "Rune[d]",
  66. Yank: "Rune[y]",
  67. Open: "Rune[o]",
  68. },
  69. },
  70. Insert: InsertModeKeys{
  71. NormalMode: "Esc",
  72. MessageInput: MessageInputInsertModeKeys{
  73. Send: "Enter",
  74. Editor: "Ctrl+E",
  75. },
  76. },
  77. }
  78. }