summaryrefslogtreecommitdiff
path: root/tex/context/modules/mkiv/x-ldx.mkiv
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-05-17 19:31:15 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-05-17 19:31:15 +0200
commit2017d30b4ca772c8eeac4fc0eb9b54e547a9a1d8 (patch)
treed96df31f305a095c078ea5fb9f639ca34ac36c12 /tex/context/modules/mkiv/x-ldx.mkiv
parent53ff76b73cd1f373ecdfb0f7f17df6f352621d6e (diff)
downloadcontext-2017d30b4ca772c8eeac4fc0eb9b54e547a9a1d8.tar.gz
2016-05-17 19:25:00
Diffstat (limited to 'tex/context/modules/mkiv/x-ldx.mkiv')
-rw-r--r--tex/context/modules/mkiv/x-ldx.mkiv216
1 files changed, 216 insertions, 0 deletions
diff --git a/tex/context/modules/mkiv/x-ldx.mkiv b/tex/context/modules/mkiv/x-ldx.mkiv
new file mode 100644
index 000000000..051019ac4
--- /dev/null
+++ b/tex/context/modules/mkiv/x-ldx.mkiv
@@ -0,0 +1,216 @@
+%D \module
+%D [ file=x-ldx,
+%D version=2008.06.03,
+%D title=\CONTEXT\ Modules,
+%D subtitle=Lua Source Pretty Printing,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+% this will become an extra
+
+\setupxml[default=hidden]
+
+\usemodule[x][mathml]
+\usemodule[abr-02]
+
+\xmlregistersetup{xml:mml:define}
+\xmlregistersetup{xml:ldx:define}
+
+\xmlregisterns{ldx}{ldx}
+
+\startxmlsetups xml:ldx:define
+ \xmlsetsetup {#1} {ldx:*} {ldx:*}
+\stopxmlsetups
+
+% % %
+
+\startxmlsetups ldx:p
+ \xmlflush{#1}\par
+\stopxmlsetups
+
+\startxmlsetups ldx:source
+ \source{\xmlflush{#1}}
+\stopxmlsetups
+
+\startxmlsetups ldx:key
+ \dontleavehmode{\bf\xmlflush{#1}}
+\stopxmlsetups
+
+\startxmlsetups ldx:variable
+ \xmlflush{#1}
+% \expanded{\variable{\xmlflush{#1}}}
+\stopxmlsetups
+
+\startxmlsetups ldx:function
+ \dontleavehmode{\bf function}\space\xmlflush{#1}
+% \expanded{\function{\xmlflush{#1}}}
+\stopxmlsetups
+
+\startxmlsetups ldx:com
+ \dontleavehmode{\tt--\xmlflush{#1}}
+\stopxmlsetups
+
+\startxmlsetups ldx:document
+ \page
+ \xmlflush{#1}
+ \determineregistercharacteristics[function]
+ \startmode[*register]
+ \testpage[4]
+ \extra{Functions}
+ \placeregister[function]
+ \stopmode
+ \determineregistercharacteristics[variable]
+ \startmode[*register]
+ \testpage[4]
+ \extra{Variables}
+ \placeregister[variable]
+ \stopmode
+\stopxmlsetups
+
+\newcounter\CommentCounter
+
+\startxmlsetups ldx:comment
+ \blank
+ \doglobal\increment\CommentCounter
+ \margintitle{\bf\CommentCounter}
+ \xmlflush{#1}
+ \blank
+\stopxmlsetups
+
+\startxmlsetups ldx:dqs
+ \dontleavehmode\bgroup\tt"\xmlflush{#1}"\egroup
+\stopxmlsetups
+
+\startxmlsetups ldx:sqs
+ \dontleavehmode\bgroup\tt'\xmlflush{#1}'\egroup
+\stopxmlsetups
+
+\startxmlsetups ldx:code
+ \startpacked
+ \xmlflush{#1}\relax
+ \stoppacked
+\stopxmlsetups
+
+\startluacode
+ function xml.finalizers.tex.cdatatobuffer(c,name)
+ buffers.assign(name,xml.cdata(c[1]))
+ end
+\stopluacode
+
+\startxmlsetups ldx:luacode
+ \blank
+ \begingroup
+ \switchtobodyfont[dejavu-condensed]
+ \xmlfilter{#1}{./cdatatobuffer('name')}
+ \scitebuffer[lua][name]
+ \endgroup
+ \blank
+\stopxmlsetups
+
+\startxmlsetups ldx:lines
+ \startpacked
+ \xmlflush{#1}
+ \stoppacked
+\stopxmlsetups
+
+\startxmlsetups ldx:line
+ \doifelsenothing {\xmlflush{#1}} {
+ \xmlflush{#1}\crlf
+ } {
+ \dontleavehmode \hbox to \hsize \bgroup
+ \strut
+ \hskip.25\dimexpr\xmlattdef{#1}{n}{0}em\relax\relax % extra relax needed !
+ \doif {\xmlatt{#1}{comment}} {yes} {\tt}
+ \xmlflush{#1}
+ \hss
+ \egroup
+ \endgraf
+ }
+\stopxmlsetups
+
+\startxmlsetups ldx:logo
+ \uppercasestring\xmlatt{#1}{label}\xmlatt{#1}{name}\to\ascii
+ \ifx\ascii\empty\else\getvalue{\ascii}\fi
+\stopxmlsetups
+
+\startxmlsetups ldx:l
+ \uppercasestring\xmlatt{#1}{l}\xmlatt{#1}{n}\to\ascii
+ \ifx\ascii\empty\else\getvalue{\ascii}\fi
+\stopxmlsetups
+
+\startxmlsetups ldx:typing
+ \blank
+ \startpacked \tt
+ \xmlverbatim{#1}
+ \stoppacked
+ \blank
+\stopxmlsetups
+
+\startxmlsetups ldx:type
+ \dontleavehmode{\tt\xmlflush{#1}}
+\stopxmlsetups
+
+\startxmlsetups ldx:t
+ \dontleavehmode{\tt\xmlflush{#1}}
+\stopxmlsetups
+
+% key -> kw
+% dqs -> dq
+% sqs -> sq
+% line -> ln
+% code -> cd
+% comment -> tx (text)
+
+\usemodule[scite]
+
+\switchtobodyfont
+ [dejavu-condensed,10pt] % preload
+
+\setupbodyfont
+ [dejavu,10pt] % main font
+
+\mainlanguage
+ [en]
+
+\setupwhitespace
+ [big]
+
+\defineregister[function]
+\defineregister[variable]
+
+\definehead[source][subject]
+\definehead[extra] [subsubject]
+\definehead[topic] [subsubsubject]
+
+\setuphead
+ [source]
+ [style=\bfb]
+
+\setuphead
+ [extra]
+ [style=\bfa]
+
+\setuphead
+ [topic]
+ [style=\bf]
+
+\setuplayout
+ [width=middle,
+ height=middle,
+ footer=0pt,
+ header=1.5cm,
+ backspace=1.5cm,
+ topspace=1.5cm]
+
+\doifmode {nocolor} {
+
+ \setupcolors
+ [conversion=always]
+
+}
+\endinput