ref: 0a2550e6d1e9b8a4f49e5a12d9757e3d17339024
parent: 188111a12863f097b3f5ffeefbac3beec1efc286
author: penny <penny@limitedideas.org>
date: Sat Nov 1 14:22:15 EDT 2025
port /detach
--- a/commands.go
+++ b/commands.go
@@ -352,6 +352,54 @@
}
+type detachcmd struct {+ *Hellclient
+}
+
+func (cmd *detachcmd) flags() cmdflag {+ return free
+}
+
+func (cmd *detachcmd) name() string {+ return "detach"
+}
+
+func (cmd *detachcmd) result(data *cmddata) string {+ cmd.attacher.clearAttachments()
+ cmd.prompt.UpdatePrompt()
+ return ""
+}
+
+type attachcmd struct {+ *Hellclient
+}
+
+func (cmd *attachcmd) flags() cmdflag {+ return free
+}
+
+func (cmd *attachcmd) name() string {+ return "attach"
+}
+
+func (cmd *attachcmd) result(data *cmddata) string {+ hc := cmd.Hellclient
+ var err error
+ filename := data.content
+ if filename == "" {+ filename, err = pickFilename(hc.preferences.FilePicker)
+ }
+ if err != nil {+ return fmt.Sprintf("File picking error: %s\n", err)+ }
+ err = hc.attacher.uploadAttachment(filename)
+ if err != nil {+ return fmt.Sprintf("Upload error: %s\n", err)+ }
+ hc.prompt.UpdatePrompt()
+ return ""
+}
+
func (hc *Hellclient) newCmdArray() ([]cmder) { cmdarray := []cmder{ &profilecmd{hc, hc.cmdload},@@ -358,6 +406,8 @@
&dmcmd{hc}, &helpcmd{hc}, &reloadcmd{hc},+ &detachcmd{hc},+ &attachcmd{hc},}
return cmdarray
-}
\ No newline at end of file
+}
--- a/main.go
+++ b/main.go
@@ -125,10 +125,6 @@
//Contextual commands that need to handle their own requirements
switch command {- case "detach":
- hc.attacher.clearAttachments()
- hc.prompt.UpdatePrompt()
- return
case "attach":
if arguments == "" {arguments, err = pickFilename(hc.preferences.FilePicker)
--
⑨