diff options
-rwxr-xr-x | tkread | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -1,6 +1,7 @@ #!/usr/bin/tclsh -# Usage: tkread [-w] +# Usage: tkread [-w] [-m] # -w rewrap lines +# -m format markdown text # # The markdown parsing is inspired by the code of smu: # <https://github.com/Gottox/smu> @@ -11,7 +12,7 @@ # - add function to type 30g to scroll 30% through an article # - if window width is small, reduce padx space # - make scrolling using mouse work even when text area isn't hovered over (also note this sort of scrolling doesn't update the title); integrate the MouseWheel event with scroll. this *should* also fix the issue of dragging and then leaving the window, as the strange scrolling is likely caused by related default behaviour -# - add more markdown processing and control it using a flag +# - add more markdown processing # - use font create / configure to name a font to simplify changing its size set fontsize 15 @@ -25,6 +26,7 @@ set invertoutercolour #222222 set inverted 0 set drag 0 set tagnum 0 +set domarkdown 0 set surroundfmt { \ {"***" "bold italic"} \ @@ -138,11 +140,16 @@ proc doMotion {ypos} { text .t -font "Times $fontsize" -wrap word -width 64 -padx [expr $fontsize * 3] -bg $bgcolour -fg $textcolour -relief flat -inactiveselectbackground {} -cursor {} pack .t -expand yes -fill y set text [read stdin] -if { $::argc > 0 && [lindex $::argv 0] == "-w" } { - set text [rewrap $text] +foreach arg $::argv { + switch $arg { + -w { set text [rewrap $text] } + -m { set domarkdown 1 } + } } .t insert end $text -markup .t +if { $domarkdown } { + markup .t +} .t configure -state disabled ;# disable cursor bind . <Up> {scroll -1 unit} |