ソースを参照

Add reply_indicator configuration field to change reply indicator (#301)

Co-authored-by: ayn2op <119342035+ayn2op@users.noreply.github.com>
jumps are op 2 年 前
コミット
808bf3c5c1
2 ファイル変更9 行追加7 行削除
  1. 2 0
      internal/config/theme.go
  2. 7 7
      messages_text.go

+ 2 - 0
internal/config/theme.go

@@ -8,6 +8,7 @@ type (
 
 	MessagesTextTheme struct {
 		AuthorColor string `yaml:"author_color"`
+		ReplyIndicator string `yaml:"reply_indicator"`
 	}
 
 	MessageInputTheme struct{}
@@ -40,6 +41,7 @@ func defTheme() Theme {
 		},
 		MessagesText: MessagesTextTheme{
 			AuthorColor: "aqua",
+			ReplyIndicator: "╭",
 		},
 		MessageInput: MessageInputTheme{},
 	}

+ 7 - 7
messages_text.go

@@ -14,8 +14,6 @@ import (
 	"github.com/rivo/tview"
 )
 
-const replyIndicator = '╭'
-
 type MessagesText struct {
 	*tview.TextView
 
@@ -68,15 +66,13 @@ func (mt *MessagesText) createMessage(m discord.Message) {
 		fmt.Fprintf(mt, `["%s"]`, m.ID)
 
 		if m.ReferencedMessage != nil {
-			fmt.Fprintf(mt, "[::d]%c ", replyIndicator)
-
-			mt.createHeader(mt, *m.ReferencedMessage)
+			mt.createHeader(mt, *m.ReferencedMessage, true)
 			mt.createBody(mt, *m.ReferencedMessage)
 
 			fmt.Fprint(mt, "[::-]\n")
 		}
 
-		mt.createHeader(mt, m)
+		mt.createHeader(mt, m, false)
 		mt.createBody(mt, m)
 		mt.createFooter(mt, m)
 
@@ -86,7 +82,11 @@ func (mt *MessagesText) createMessage(m discord.Message) {
 	}
 }
 
-func (mt *MessagesText) createHeader(w io.Writer, m discord.Message) {
+func (mt *MessagesText) createHeader(w io.Writer, m discord.Message, isReply bool) {
+	if isReply {
+		fmt.Fprintf(mt, "[::d]%s", config.Current.Theme.MessagesText.ReplyIndicator)
+	}
+
 	fmt.Fprintf(w, "[%s]%s[-] ", config.Current.Theme.MessagesText.AuthorColor, m.Author.Username)
 
 	if config.Current.Timestamps {