commit a3b9bae
Hubert Hirtz
·
2021-09-13 12:13:52 +0000 UTC
parent 2eaf8b6
Remove buffer arg in commands
1 files changed,
+34,
-32
+34,
-32
1@@ -17,7 +17,7 @@ type command struct {
2 MaxArgs int
3 Usage string
4 Desc string
5- Handle func(app *App, buffer string, args []string) error
6+ Handle func(app *App, args []string) error
7 }
8
9 type commandSet map[string]*command
10@@ -147,7 +147,22 @@ func noCommand(app *App, buffer, content string) error {
11 return nil
12 }
13
14-func commandDoHelp(app *App, buffer string, args []string) (err error) {
15+func commandDoBuffer(app *App, args []string) error {
16+ name := args[0]
17+ i, err := strconv.Atoi(name)
18+ if err == nil {
19+ if app.win.JumpBufferIndex(i) {
20+ return nil
21+ }
22+ }
23+ if !app.win.JumpBuffer(args[0]) {
24+ return fmt.Errorf("none of the buffers match %q", name)
25+ }
26+
27+ return nil
28+}
29+
30+func commandDoHelp(app *App, args []string) (err error) {
31 t := time.Now()
32 if len(args) == 0 {
33 app.win.AddLine(app.win.CurrentBuffer(), ui.NotifyNone, ui.Line{
34@@ -213,7 +228,7 @@ func commandDoHelp(app *App, buffer string, args []string) (err error) {
35 return
36 }
37
38-func commandDoJoin(app *App, buffer string, args []string) (err error) {
39+func commandDoJoin(app *App, args []string) (err error) {
40 key := ""
41 if len(args) == 2 {
42 key = args[1]
43@@ -222,7 +237,8 @@ func commandDoJoin(app *App, buffer string, args []string) (err error) {
44 return
45 }
46
47-func commandDoMe(app *App, buffer string, args []string) (err error) {
48+func commandDoMe(app *App, args []string) (err error) {
49+ buffer := app.win.CurrentBuffer()
50 if buffer == Home {
51 buffer = app.lastQuery
52 }
53@@ -242,7 +258,7 @@ func commandDoMe(app *App, buffer string, args []string) (err error) {
54 return
55 }
56
57-func commandDoMsg(app *App, buffer string, args []string) (err error) {
58+func commandDoMsg(app *App, args []string) (err error) {
59 target := args[0]
60 content := args[1]
61 app.s.PrivMsg(target, content)
62@@ -260,7 +276,8 @@ func commandDoMsg(app *App, buffer string, args []string) (err error) {
63 return
64 }
65
66-func commandDoNames(app *App, buffer string, args []string) (err error) {
67+func commandDoNames(app *App, args []string) (err error) {
68+ buffer := app.win.CurrentBuffer()
69 sb := new(ui.StyledStringBuilder)
70 sb.SetStyle(tcell.StyleDefault.Foreground(tcell.ColorGrey))
71 sb.WriteString("Names: ")
72@@ -284,7 +301,7 @@ func commandDoNames(app *App, buffer string, args []string) (err error) {
73 return
74 }
75
76-func commandDoNick(app *App, buffer string, args []string) (err error) {
77+func commandDoNick(app *App, args []string) (err error) {
78 nick := args[0]
79 if i := strings.IndexAny(nick, " :@!*?"); i >= 0 {
80 return fmt.Errorf("illegal char %q in nickname", nick[i])
81@@ -293,7 +310,7 @@ func commandDoNick(app *App, buffer string, args []string) (err error) {
82 return
83 }
84
85-func commandDoMode(app *App, buffer string, args []string) (err error) {
86+func commandDoMode(app *App, args []string) (err error) {
87 channel := args[0]
88 flags := args[1]
89 modeArgs := args[2:]
90@@ -302,8 +319,8 @@ func commandDoMode(app *App, buffer string, args []string) (err error) {
91 return
92 }
93
94-func commandDoPart(app *App, buffer string, args []string) (err error) {
95- channel := buffer
96+func commandDoPart(app *App, args []string) (err error) {
97+ channel := app.win.CurrentBuffer()
98 reason := ""
99 if 0 < len(args) {
100 if app.s.IsChannel(args[0]) {
101@@ -324,7 +341,7 @@ func commandDoPart(app *App, buffer string, args []string) (err error) {
102 return
103 }
104
105-func commandDoQuit(app *App, buffer string, args []string) (err error) {
106+func commandDoQuit(app *App, args []string) (err error) {
107 reason := ""
108 if 0 < len(args) {
109 reason = args[0]
110@@ -336,12 +353,12 @@ func commandDoQuit(app *App, buffer string, args []string) (err error) {
111 return
112 }
113
114-func commandDoQuote(app *App, buffer string, args []string) (err error) {
115+func commandDoQuote(app *App, args []string) (err error) {
116 app.s.SendRaw(args[0])
117 return
118 }
119
120-func commandDoR(app *App, buffer string, args []string) (err error) {
121+func commandDoR(app *App, args []string) (err error) {
122 app.s.PrivMsg(app.lastQuery, args[0])
123 if !app.s.HasCapability("echo-message") {
124 buffer, line, _ := app.formatMessage(irc.MessageEvent{
125@@ -357,11 +374,11 @@ func commandDoR(app *App, buffer string, args []string) (err error) {
126 return
127 }
128
129-func commandDoTopic(app *App, buffer string, args []string) (err error) {
130+func commandDoTopic(app *App, args []string) (err error) {
131 if len(args) == 0 {
132- app.printTopic(buffer)
133+ app.printTopic(app.win.CurrentBuffer())
134 } else {
135- app.s.ChangeTopic(buffer, args[0])
136+ app.s.ChangeTopic(app.win.CurrentBuffer(), args[0])
137 }
138 return
139 }
140@@ -474,20 +491,5 @@ func (app *App) handleInput(buffer, content string) error {
141 return fmt.Errorf("command %q cannot be executed from home", cmdName)
142 }
143
144- return cmd.Handle(app, buffer, args)
145-}
146-
147-func commandDoBuffer(app *App, buffer string, args []string) error {
148- name := args[0]
149- i, err := strconv.Atoi(name)
150- if err == nil {
151- if app.win.JumpBufferIndex(i) {
152- return nil
153- }
154- }
155- if !app.win.JumpBuffer(args[0]) {
156- return fmt.Errorf("none of the buffers match %q", name)
157- }
158-
159- return nil
160+ return cmd.Handle(app, args)
161 }