commit 288b39c6d4a64e4c60d443fe43f2aa5f86a9c2c5 from: mtmn date: Fri Jul 10 15:04:04 2026 UTC wrd: add option to open dilo commit - fab167acde0147cec826f1339ec1f356e2cec198 commit + 288b39c6d4a64e4c60d443fe43f2aa5f86a9c2c5 blob - 2456af85cc4252cb8a6e4e16239ac702f8fb86bc blob + 381c9b9c23233ba3d3139b340781c4d63edbced6 --- wrd/tui.go +++ wrd/tui.go @@ -119,7 +119,7 @@ func (a *app) handle(b []byte) bool { case c == 13 || c == 10: // enter a.open() case c == 15: // ctrl-o - a.openURL() + a.openDillo() case c == 25: // ctrl-y a.yank() case c == 14: // ctrl-n @@ -271,11 +271,26 @@ func (a *app) open() { }) } -func (a *app) openURL() { - if m, ok := a.cur(); ok { - u := url(m.d.rel) - a.withExternal(func() { runTTY(exec.Command("cha", u)) }) +func (a *app) openDillo() { + m, ok := a.cur() + if !ok { + return } + src := m.d.src + a.withExternal(func() { + if strings.HasSuffix(strings.ToLower(src), ".md") { + tmp, err := os.CreateTemp("", "wrd-*.html") + if err != nil { + return + } + defer func() { _ = os.Remove(tmp.Name()) }() + out, _ := exec.Command("lowdown", src).Output() + _, _ = tmp.Write(out) + _ = tmp.Close() + src = tmp.Name() + } + runTTY(exec.Command("dillo", src)) + }) } func (a *app) yank() {