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 }