refactor: drop unused receivers and exports
This commit is contained in:
parent
f7bd6ef441
commit
78c26e88fb
14 changed files with 64 additions and 64 deletions
|
|
@ -2,4 +2,4 @@
|
|||
|
||||
package http
|
||||
|
||||
const ClientBuildNumber = 640102
|
||||
const clientBuildNumber = 640102
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ const format = `// GENERATED BY go generate; DO NOT EDIT.
|
|||
|
||||
package %s
|
||||
|
||||
const ClientBuildNumber = %s
|
||||
const clientBuildNumber = %s
|
||||
`
|
||||
|
||||
var buildNumberRegex = regexp.MustCompile(`"BUILD_NUMBER":\s*"(\d+)"`)
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ func commonProperties() gateway.IdentifyProperties {
|
|||
"browser_version": tls.BrowserVersion(),
|
||||
"browser_user_agent": BrowserUserAgent(),
|
||||
|
||||
"client_build_number": ClientBuildNumber,
|
||||
"client_build_number": clientBuildNumber,
|
||||
"client_event_source": nil,
|
||||
"client_launch_id": uuid.NewV4().String(),
|
||||
|
||||
|
|
|
|||
|
|
@ -283,7 +283,7 @@ func (m Model) Update(msg tview.Msg) (Model, tview.Cmd) {
|
|||
kbs := m.cfg.Keybinds.Composer
|
||||
switch {
|
||||
case keybind.Matches(msg, kbs.EditLast.Keybind) && m.canEditLastMessage():
|
||||
return m, m.editLastMessage()
|
||||
return m, editLastMessage()
|
||||
case keybind.Matches(msg, kbs.Paste.Keybind):
|
||||
m.pasteText()
|
||||
return m, pasteImage()
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ type edit struct {
|
|||
// editMsg is the text and cursor that typing in the composer left.
|
||||
type editMsg edit
|
||||
|
||||
func (m Model) editLastMessage() tview.Cmd {
|
||||
func editLastMessage() tview.Cmd {
|
||||
return func() tview.Msg { return EditLastMsg{} }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,8 +58,8 @@ func (m Model) CurrentNode() *tree.Node {
|
|||
|
||||
// View shows the tree in a box titled Guilds.
|
||||
func (m Model) View(focused bool) tview.Widget {
|
||||
onChange := func(current *tree.Node) tview.Msg { return Msg{current} }
|
||||
onSelect := func(n *tree.Node) tview.Msg { return SelectedMsg{Node: n} }
|
||||
onChange := func(current *tree.Node) tview.Msg { return currentMsg{current} }
|
||||
onSelect := func(n *tree.Node) tview.Msg { return selectedMsg{node: n} }
|
||||
return uitree.New(
|
||||
m.root,
|
||||
m.current,
|
||||
|
|
@ -128,7 +128,7 @@ func (m *Model) rebuild(event *gateway.ReadyEvent) {
|
|||
func (m Model) refreshReadStyles(event *read.UpdateEvent) {
|
||||
if event.GuildID.IsValid() {
|
||||
if node := m.findNodeByReference(event.GuildID); node != nil {
|
||||
m.setNodeLineStyle(node, m.guildNodeStyle(event.GuildID))
|
||||
setNodeLineStyle(node, m.guildNodeStyle(event.GuildID))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -139,10 +139,10 @@ func (m Model) refreshReadStyles(event *read.UpdateEvent) {
|
|||
channel, err := m.state.Cabinet.Channel(event.ChannelID)
|
||||
if err != nil {
|
||||
indication := m.state.ChannelIsUnread(event.ChannelID, ningen.UnreadOpts{IncludeMutedCategories: true})
|
||||
m.setNodeLineStyle(node, unreadStyle(indication))
|
||||
setNodeLineStyle(node, unreadStyle(indication))
|
||||
return
|
||||
}
|
||||
m.setNodeLineStyle(node, m.channelNodeStyle(*channel))
|
||||
setNodeLineStyle(node, m.channelNodeStyle(*channel))
|
||||
}
|
||||
|
||||
func (m Model) updateDMNodeStyle(userID discord.UserID) {
|
||||
|
|
@ -155,7 +155,7 @@ func (m Model) updateDMNodeStyle(userID discord.UserID) {
|
|||
if node == nil || !ok {
|
||||
return
|
||||
}
|
||||
m.setNodeLineStyle(node, m.channelNodeStyle(*channel))
|
||||
setNodeLineStyle(node, m.channelNodeStyle(*channel))
|
||||
}
|
||||
|
||||
func (m Model) moveDMToFront(channelID discord.ChannelID) {
|
||||
|
|
@ -180,7 +180,7 @@ func (m Model) createFolderNode(folder gateway.GuildFolder, guildsByID map[disco
|
|||
folderNode := tree.NewNode(name).SetExpanded(m.cfg.UI.GuildsTree.AutoExpandFolders)
|
||||
if folder.Color != 0 {
|
||||
folderStyle := tcell.StyleDefault.Foreground(tcell.NewHexColor(int32(folder.Color)))
|
||||
m.setNodeLineStyle(folderNode, folderStyle)
|
||||
setNodeLineStyle(folderNode, folderStyle)
|
||||
}
|
||||
m.root.AddChild(folderNode)
|
||||
|
||||
|
|
@ -217,7 +217,7 @@ func (m Model) createGuildNode(parent *tree.Node, guild discord.Guild) {
|
|||
SetExpandable(true).
|
||||
SetExpanded(false).
|
||||
SetIndent(m.cfg.Sidebar.Indents.Guild)
|
||||
m.setNodeLineStyle(guildNode, m.guildNodeStyle(guild.ID))
|
||||
setNodeLineStyle(guildNode, m.guildNodeStyle(guild.ID))
|
||||
parent.AddChild(guildNode)
|
||||
m.nodes[discord.Snowflake(guild.ID)] = guildNode
|
||||
}
|
||||
|
|
@ -230,7 +230,7 @@ func (m Model) createChannelNode(parent *tree.Node, channel discord.Channel) {
|
|||
|
||||
indents := m.cfg.Sidebar.Indents
|
||||
channelNode := tree.NewNode(ui.ChannelToString(channel, m.cfg.Icons, m.state)).SetReference(channel.ID)
|
||||
m.setNodeLineStyle(channelNode, m.channelNodeStyle(channel))
|
||||
setNodeLineStyle(channelNode, m.channelNodeStyle(channel))
|
||||
switch channel.Type {
|
||||
case discord.DirectMessage:
|
||||
channelNode.SetIndent(indents.DM)
|
||||
|
|
@ -327,7 +327,7 @@ func (m Model) styleVoiceMembers() {
|
|||
style = m.cfg.Theme.GuildsTree.SpeakingStyle.Style
|
||||
}
|
||||
|
||||
m.setNodeLineStyle(member, style)
|
||||
setNodeLineStyle(member, style)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -439,7 +439,7 @@ func isVoice(t discord.ChannelType) bool {
|
|||
}
|
||||
|
||||
// setNodeLineStyle styles the name of node, which is the first segment of its line.
|
||||
func (m Model) setNodeLineStyle(node *tree.Node, style tview.Style) {
|
||||
func setNodeLineStyle(node *tree.Node, style tview.Style) {
|
||||
line := node.Line()
|
||||
line[0].Style = style
|
||||
node.SetLine(line)
|
||||
|
|
@ -535,7 +535,7 @@ func (m Model) Update(msg tview.Msg) (Model, tview.Cmd) {
|
|||
|
||||
case NavigateMsg:
|
||||
return m, m.navigate(msg.ChannelID)
|
||||
case Msg:
|
||||
case currentMsg:
|
||||
m.current = msg.current
|
||||
m.scrollState.ScrollToTarget()
|
||||
return m, nil
|
||||
|
|
@ -545,9 +545,9 @@ func (m Model) Update(msg tview.Msg) (Model, tview.Cmd) {
|
|||
return m.Update(msg.Msg)
|
||||
}
|
||||
return m, nil
|
||||
case SelectedMsg:
|
||||
m.setCurrentNode(msg.Node)
|
||||
return m, m.selectNode(msg.Node)
|
||||
case selectedMsg:
|
||||
m.setCurrentNode(msg.node)
|
||||
return m, m.selectNode(msg.node)
|
||||
case tview.KeyMsg:
|
||||
kbs := m.cfg.Keybinds.GuildsTree
|
||||
switch {
|
||||
|
|
|
|||
|
|
@ -10,14 +10,14 @@ import (
|
|||
"github.com/ayn2op/tview/tree"
|
||||
)
|
||||
|
||||
// Msg makes a node of the tree the current one.
|
||||
type Msg struct {
|
||||
// currentMsg makes a node of the tree the current one.
|
||||
type currentMsg struct {
|
||||
current *tree.Node
|
||||
}
|
||||
|
||||
// SelectedMsg is sent when the user selects a node.
|
||||
type SelectedMsg struct {
|
||||
Node *tree.Node
|
||||
// selectedMsg is sent when the user selects a node.
|
||||
type selectedMsg struct {
|
||||
node *tree.Node
|
||||
}
|
||||
|
||||
type ChannelLoadedMsg struct {
|
||||
|
|
|
|||
|
|
@ -85,8 +85,8 @@ func (m *Model) SetChannel(channel *discord.Channel) tview.Cmd {
|
|||
|
||||
// View shows the tree in a box titled Members.
|
||||
func (m Model) View(focused bool) tview.Widget {
|
||||
onChange := func(current *tree.Node) tview.Msg { return Msg{current} }
|
||||
onSelect := func(n *tree.Node) tview.Msg { return SelectedMsg{Node: n} }
|
||||
onChange := func(current *tree.Node) tview.Msg { return currentMsg{current} }
|
||||
onSelect := func(n *tree.Node) tview.Msg { return selectedMsg{node: n} }
|
||||
return uitree.New(
|
||||
m.root,
|
||||
m.current,
|
||||
|
|
@ -124,7 +124,7 @@ func (m Model) Update(msg tview.Msg) (Model, tview.Cmd) {
|
|||
m.refreshStatus(msg.User.ID)
|
||||
return m, nil
|
||||
|
||||
case Msg:
|
||||
case currentMsg:
|
||||
m.current = msg.current
|
||||
m.scrollState.ScrollToTarget()
|
||||
return m, m.requestSelectedMembers()
|
||||
|
|
@ -134,10 +134,10 @@ func (m Model) Update(msg tview.Msg) (Model, tview.Cmd) {
|
|||
return m.Update(msg.Msg)
|
||||
}
|
||||
return m, nil
|
||||
case SelectedMsg:
|
||||
m.setCurrentNode(msg.Node)
|
||||
if _, ok := msg.Node.Reference().(groupRef); ok {
|
||||
msg.Node.SetExpanded(!msg.Node.Expanded())
|
||||
case selectedMsg:
|
||||
m.setCurrentNode(msg.node)
|
||||
if _, ok := msg.node.Reference().(groupRef); ok {
|
||||
msg.node.SetExpanded(!msg.node.Expanded())
|
||||
}
|
||||
return m, m.requestSelectedMembers()
|
||||
case tview.KeyMsg:
|
||||
|
|
|
|||
|
|
@ -6,14 +6,14 @@ import (
|
|||
"github.com/ayn2op/tview/tree"
|
||||
)
|
||||
|
||||
// Msg makes a node of the tree the current one.
|
||||
type Msg struct {
|
||||
// currentMsg makes a node of the tree the current one.
|
||||
type currentMsg struct {
|
||||
current *tree.Node
|
||||
}
|
||||
|
||||
// SelectedMsg is sent when the user selects a node.
|
||||
type SelectedMsg struct {
|
||||
Node *tree.Node
|
||||
// selectedMsg is sent when the user selects a node.
|
||||
type selectedMsg struct {
|
||||
node *tree.Node
|
||||
}
|
||||
|
||||
// requestSelectedMembers requests the chunk of the member list after the selected member, so that the members below it load before they are reached.
|
||||
|
|
|
|||
|
|
@ -56,17 +56,17 @@ func (m Model) drawEmbeds(builder *richtext.Builder, message discord.Message, ba
|
|||
prefix := richtext.NewSegment(embedPrefix, prefixStyle)
|
||||
builder.NewLine()
|
||||
for _, line := range lines {
|
||||
if strings.TrimSpace(line.Text) == "" {
|
||||
if strings.TrimSpace(line.text) == "" {
|
||||
continue
|
||||
}
|
||||
msg := message
|
||||
msg.Content = line.Text
|
||||
lineStyle := lineStyles[line.Kind]
|
||||
msg.Content = line.text
|
||||
lineStyle := lineStyles[line.kind]
|
||||
// Embed descriptions are always markdown-rendered to match Discord's rich embed semantics, even when message markdown is globally disabled.
|
||||
rendered, _, _ := m.renderContent(msg, lineStyle, line.Kind == embedLineDescription)
|
||||
rendered, _, _ := m.renderContent(msg, lineStyle, line.kind == embedLineDescription)
|
||||
for _, renderedLine := range rendered {
|
||||
if line.URL != "" {
|
||||
renderedLine = lineWithURL(renderedLine, line.URL)
|
||||
if line.url != "" {
|
||||
renderedLine = lineWithURL(renderedLine, line.url)
|
||||
}
|
||||
// The prefix is added after wrapping, so every visual line has it, not only the first.
|
||||
for _, wrapped := range richtext.Wrap(renderedLine, wrapWidth) {
|
||||
|
|
@ -91,9 +91,9 @@ func lineWithURL(line richtext.Line, rawURL string) richtext.Line {
|
|||
}
|
||||
|
||||
type embedLine struct {
|
||||
Text string
|
||||
Kind embedLineKind
|
||||
URL string
|
||||
text string
|
||||
kind embedLineKind
|
||||
url string
|
||||
}
|
||||
|
||||
type embedLineKind uint8
|
||||
|
|
@ -146,9 +146,9 @@ func embedLines(embed discord.Embed, contentURLs map[string]struct{}) []embedLin
|
|||
}
|
||||
seen[key] = struct{}{}
|
||||
lines = append(lines, embedLine{
|
||||
Text: s,
|
||||
Kind: kind,
|
||||
URL: rawURL,
|
||||
text: s,
|
||||
kind: kind,
|
||||
url: rawURL,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ func (m Model) writeMessage(builder *richtext.Builder, message discord.Message,
|
|||
case discord.InlinedReplyMessage:
|
||||
m.drawDefaultMessage(builder, message, baseStyle, width, false)
|
||||
case discord.ChannelPinnedMessage:
|
||||
m.drawPinnedMessage(builder, message, baseStyle)
|
||||
drawPinnedMessage(builder, message, baseStyle)
|
||||
default:
|
||||
m.drawLayout(builder, message, baseStyle, false, nil)
|
||||
}
|
||||
|
|
@ -370,6 +370,6 @@ func (m Model) drawReply(builder *richtext.Builder, message discord.Message, bas
|
|||
}
|
||||
}
|
||||
|
||||
func (m Model) drawPinnedMessage(builder *richtext.Builder, message discord.Message, baseStyle tview.Style) {
|
||||
func drawPinnedMessage(builder *richtext.Builder, message discord.Message, baseStyle tview.Style) {
|
||||
builder.Write(message.Author.DisplayOrUsername()+" pinned a message.", baseStyle)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -419,11 +419,11 @@ func (m Model) Update(msg tview.Msg) (Model, tview.Cmd) {
|
|||
}
|
||||
case olderMessagesLoadedMsg:
|
||||
selectedChannel := m.channel
|
||||
if selectedChannel == nil || selectedChannel.ID != msg.ChannelID {
|
||||
if selectedChannel == nil || selectedChannel.ID != msg.channelID {
|
||||
return m, nil
|
||||
}
|
||||
older := make([]messageItem, len(msg.Older))
|
||||
for i, message := range msg.Older {
|
||||
older := make([]messageItem, len(msg.older))
|
||||
for i, message := range msg.older {
|
||||
older[i] = messageItem{message: message}
|
||||
}
|
||||
m.items = slices.Concat(older, m.items)
|
||||
|
|
@ -436,7 +436,7 @@ func (m Model) Update(msg tview.Msg) (Model, tview.Cmd) {
|
|||
}
|
||||
m.rebuildItems()
|
||||
if selectedChannel.GuildID.IsValid() {
|
||||
return m, tview.Batch(m.requestGuildMembers(selectedChannel.GuildID, msg.Older), m.loadPreviews())
|
||||
return m, tview.Batch(m.requestGuildMembers(selectedChannel.GuildID, msg.older), m.loadPreviews())
|
||||
}
|
||||
return m, m.loadPreviews()
|
||||
case previewLoadedMsg:
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ func TestModelBuildItem(t *testing.T) {
|
|||
t.Fatal("clicking the top message did not fetch older messages")
|
||||
}
|
||||
ml.selectBottom()
|
||||
*ml, _ = ml.Update(olderMessagesLoadedMsg{ChannelID: 1, Older: []discord.Message{{ID: 1}}})
|
||||
*ml, _ = ml.Update(olderMessagesLoadedMsg{channelID: 1, older: []discord.Message{{ID: 1}}})
|
||||
selected, ok := ml.selectedMessage()
|
||||
if !ok || selected.ID != 3 || text() != view {
|
||||
t.Fatal("prepend lost selection or cached text")
|
||||
|
|
@ -143,7 +143,7 @@ func TestModelRebuildItems(t *testing.T) {
|
|||
assertSelected(3)
|
||||
ml.selectUp()
|
||||
assertSelected(2)
|
||||
*ml, _ = ml.Update(olderMessagesLoadedMsg{ChannelID: 1, Older: messages[2:]})
|
||||
*ml, _ = ml.Update(olderMessagesLoadedMsg{channelID: 1, older: messages[2:]})
|
||||
assertItems(1, 2, 3)
|
||||
assertSelected(2)
|
||||
ml.deleteMessage(ml.cursor)
|
||||
|
|
@ -344,7 +344,7 @@ func TestModelScrollToTop(t *testing.T) {
|
|||
}
|
||||
|
||||
older := []discord.Message{{ID: 1, Content: "hi"}, {ID: 2, Content: "hi"}}
|
||||
*ml, _ = ml.Update(olderMessagesLoadedMsg{ChannelID: 1, Older: older})
|
||||
*ml, _ = ml.Update(olderMessagesLoadedMsg{channelID: 1, older: older})
|
||||
cmd, _ := scrollUp()
|
||||
if cmd != nil {
|
||||
t.Fatal("older messages were fetched again before scrolling to the new top")
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ import (
|
|||
type Msg interface{ messagesList() }
|
||||
|
||||
type olderMessagesLoadedMsg struct {
|
||||
ChannelID discord.ChannelID
|
||||
Older []discord.Message
|
||||
channelID discord.ChannelID
|
||||
older []discord.Message
|
||||
}
|
||||
|
||||
func (olderMessagesLoadedMsg) messagesList() {}
|
||||
|
|
@ -103,7 +103,7 @@ func (m Model) fetchOlderMessages() tview.Cmd {
|
|||
|
||||
older := slices.Clone(messages)
|
||||
slices.Reverse(older)
|
||||
return olderMessagesLoadedMsg{ChannelID: channelID, Older: older}
|
||||
return olderMessagesLoadedMsg{channelID: channelID, older: older}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -237,7 +237,7 @@ func (m Model) download() tview.Cmd {
|
|||
for i, attachment := range selectedMessage.Attachments {
|
||||
items[i] = picker.Item{Text: attachment.Filename, Reference: m.confirmAttachment(attachment, m.saveAttachment(attachment))}
|
||||
}
|
||||
return m.showAttachmentsPicker(items)
|
||||
return showAttachmentsPicker(items)
|
||||
}
|
||||
|
||||
func (m Model) showAttachmentsList(urls []string, attachments []discord.Attachment, openAttachment func(discord.Attachment) tview.Cmd) tview.Cmd {
|
||||
|
|
@ -248,10 +248,10 @@ func (m Model) showAttachmentsList(urls []string, attachments []discord.Attachme
|
|||
for _, url := range urls {
|
||||
items = append(items, picker.Item{Text: url, Reference: openURL(url)})
|
||||
}
|
||||
return m.showAttachmentsPicker(items)
|
||||
return showAttachmentsPicker(items)
|
||||
}
|
||||
|
||||
func (m Model) showAttachmentsPicker(items picker.Items) tview.Cmd {
|
||||
func showAttachmentsPicker(items picker.Items) tview.Cmd {
|
||||
return func() tview.Msg { return ShowAttachmentsMsg(items) }
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue