X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=pret-trans.lua;h=212c835ace52d0c7b026fc606dca6d336cba5ba1;hp=ac1b525946364600d9bff3616f14ec6539921cd8;hb=8915e89ffeb87ae69f28f915a05ce37b1ef50fda;hpb=cb736fa056825e66c2831a01843cfcaf4bf9b4b8 diff --git a/pret-trans.lua b/pret-trans.lua index ac1b525..212c835 100644 --- a/pret-trans.lua +++ b/pret-trans.lua @@ -9,19 +9,19 @@ local utf = unicode.utf8 -vis = buffers.newvisualizer("trans") +local vis = buffers.newvisualizer("trans") local commands = {} -- A command to create a horizontal rule. -commands.rule = "\\blackrule[height=0.5pt,depth=0pt,width=.45\\textwidth]" +commands.rule = "\\HLine[width=.40 * \\the\\textwidth]" -- Pretty printer to use for the stuff before and after the line commands.before_pret = "lam" commands.after_pret = "lam" -- Frame commands to use for the left (before + line + after) and right -- (conditions) parts. Should include an opening {, which will be closed -- automatically. -commands.leftframe = "\\framed[offset=0mm,location=middle,strut=no,align=right,frame=off,width=.5\\textwidth]{\\sans" -commands.rightframe = "\\framed[offset=0mm,location=middle,strut=no,align=right,frame=off,width=.5\\textwidth]{" +commands.leftframe = "\\framed[offset=0mm,location=middle,strut=no,align=right,frame=off,width=.48\\textwidth]{\\sans" +commands.rightframe = "\\framed[offset=0mm,location=middle,strut=no,align=right,frame=off,width=.48\\textwidth]{" -- A table to keep the lines in this buffer, so we can process them all at -- once at the end. @@ -63,6 +63,9 @@ end -- Capture all lines, without generating any output function vis.begin_of_display() lines = {} + -- Let all the lambda pretty printing in this buffer use shared subscript + -- detection + buffers.visualizers.handlers.lam.begin_of_block() end function vis.begin_of_line(n) -- Don't generate output here @@ -91,7 +94,11 @@ function vis.end_of_display() break end end - + + if not len then + error("No horizontal separator found in:\n" .. table.concat(lines, "\n")) + end + -- Split the input in three parts. Stuff before the line, stuff -- after the line, stuff to the right of the line. before, after, rights = {}, {}, {} @@ -161,6 +168,7 @@ function vis.end_of_display() -- Clean up lines = {} + buffers.visualizers.handlers.lam.end_of_block() end -- vim: set sw=4 sts=4 expandtab ai: