ref: 4fb050ab9bda0c5617cce8f10e380a00307a5630
parent: a18b9e5b6648b5c94bd584f7063589d73bccc1af
author: penny <penny@limitedideas.org>
date: Mon Oct 27 08:58:20 EDT 2025
support /edit properly in plan 9
--- a/main.go
+++ b/main.go
@@ -472,7 +472,7 @@
fmt.Printf("Error loading post HTML: %s\n", err)return
}
- rl.SetDefault(fmt.Sprintf("/edit %v %v", index, html2text.HTML2Text(fixedHTML)))+ rl.SetDefault(fmt.Sprintf("/edit %v %v", index, html2text.HTML2TextWithOptions(fixedHTML, html2text.WithUnixLineBreaks())))return
}
var MediaIDs []mastodon.ID
--- a/readline_plan9.go
+++ b/readline_plan9.go
@@ -43,6 +43,9 @@
func (rl *readline) ReadLineWithConfig(cfg *Config) (string, error) {+ if rl.multi {+ fmt.Print("MULTILINE ")+ }
fmt.Print(cfg.Prompt)
var sb strings.Builder
for {@@ -74,7 +77,21 @@
rl.config.Prompt = prompt
}
-func (rl *readline) SetDefault(string) {+func (rl *readline) SetDefault(editline string) { rl.multi = true+ runes := []rune(editline)
+ rl.ctl.WriteString("holdon")+ for r, _ := range runes {+ kbd, err := os.OpenFile("/dev/kbdin", os.O_WRONLY, 0)+ if err != nil {+ break
+ }
+ _, err = kbd.WriteString(string(runes[r]))
+ if err != nil {+ kbd.Close()
+ break
+ }
+ kbd.Close()
+ }
}
func (rl *readline) Readline() (string, error) {@@ -82,4 +99,4 @@
}
func enablePipeHack(rl *readline) {-}
+}
\ No newline at end of file
--
⑨