Parcourir la source

feat(config): add keys.messages_text.cancel field (#529)

Ayyan il y a 1 an
Parent
commit
7ccd676f52
2 fichiers modifiés avec 9 ajouts et 1 suppressions
  1. 7 1
      cmd/messages_text.go
  2. 2 0
      internal/config/keys.go

+ 7 - 1
cmd/messages_text.go

@@ -75,7 +75,8 @@ func (mt *MessagesText) drawMsgs(cID discord.ChannelID) {
 }
 
 func (mt *MessagesText) reset() {
-	app.messagesText.selectedMessageID = 0
+	mt.selectedMessageID = 0
+	app.messageInput.replyMessageID = 0
 
 	mt.SetTitle("")
 	mt.Clear()
@@ -194,6 +195,11 @@ func (mt *MessagesText) getSelectedMessageIndex() (int, error) {
 
 func (mt *MessagesText) onInputCapture(event *tcell.EventKey) *tcell.EventKey {
 	switch event.Name() {
+	case mt.cfg.Keys.MessagesText.Cancel:
+		mt.selectedMessageID = 0
+		app.messageInput.replyMessageID = 0
+		mt.Highlight()
+
 	case mt.cfg.Keys.MessagesText.SelectPrevious, mt.cfg.Keys.MessagesText.SelectNext, mt.cfg.Keys.MessagesText.SelectFirst, mt.cfg.Keys.MessagesText.SelectLast, mt.cfg.Keys.MessagesText.SelectReply, mt.cfg.Keys.MessagesText.SelectPin:
 		mt._select(event.Name())
 	case mt.cfg.Keys.MessagesText.YankID:

+ 2 - 0
internal/config/keys.go

@@ -35,6 +35,7 @@ type (
 		Reply        string `toml:"reply"`
 		ReplyMention string `toml:"reply_mention"`
 
+		Cancel      string `toml:"cancel"`
 		Delete      string `toml:"delete"`
 		YankID      string `toml:"yank_id"`
 		YankContent string `toml:"yank_content"`
@@ -83,6 +84,7 @@ func defaultKeys() Keys {
 			Reply:        "Rune[r]",
 			ReplyMention: "Rune[R]",
 
+			Cancel:      "Esc",
 			Delete:      "Rune[d]",
 			YankContent: "Rune[y]",
 			YankURL:     "Rune[i]",