shithub: hell

Download patch

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
--