diff options
-rwxr-xr-x | mnpgr.tl | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/mnpgr.tl b/mnpgr.tl new file mode 100755 index 0000000..af3541b --- /dev/null +++ b/mnpgr.tl @@ -0,0 +1,27 @@ +#!/usr/bin/env txr + +(defvarl home-dir (getenv "HOME")) + +(defvarl mnpgr-dir (path-cat home-dir ".mnpgr-dir")) + +(defvarl vim-commands + (join-with "|" + '("hi def link CtrlHUnderline Special" + "hi def link CtrlHBold Keyword" + "set syntax=ctrlh" + "syntax match CtrlHHide /.\\b/ contained conceal" + "set conceallevel=2" + "set concealcursor=nc" + "map q :q!\r"))) + +(ensure-dir mnpgr-dir) + +(match @(or `@page(@section)` ;; for "man whatever" + `@page\\.@section`) ;; for "man -l file.1" + (getenv "MAN_PN") + (with-resources ((rendered-file (path-cat mnpgr-dir `@page.@section`) + (remove-path rendered-file))) + (with-stream (s (open-file rendered-file "w")) + (whilet ((line (get-line))) + (put-line line s))) + (sh `vim +'@{vim-commands}' '@{rendered-file}' < /dev/tty`))) |