diff options
Diffstat (limited to 'tex/context/base/verb-tex.lua')
-rw-r--r-- | tex/context/base/verb-tex.lua | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/tex/context/base/verb-tex.lua b/tex/context/base/verb-tex.lua deleted file mode 100644 index 98e6eccb4..000000000 --- a/tex/context/base/verb-tex.lua +++ /dev/null @@ -1,126 +0,0 @@ --- filename : type-tex.lua --- comment : companion to core-buf.tex --- author : Hans Hagen, PRAGMA-ADE, Hasselt NL --- copyright: PRAGMA ADE / ConTeXt Development Team --- license : see context related readme files - -local utf = unicode.utf8 - -local utfcharacters, utfvalues = string.utfcharacters, string.utfvalues - -if not buffers then buffers = { } end -if not buffers.visualizers then buffers.visualizers = { } end -if not buffers.visualizers.tex then buffers.visualizers.tex = { } end - -buffers.visualizers.tex.colors = { - "prettytwo", - "prettyone", - "prettythree", - "prettyfour" -} - -buffers.visualizers.tex.states = { - ['$']=2, ['{']=2, ['}']=2, - ['[']=3, [']']=3, ['(']=3, [')']=3, ['<']=3, ['>']=3, ['#']=3, ['=']=3, ['"']=3, - ['/']=4, ['^']=4, ['_']=4, ['-']=4, ['&']=4, ['+']=4, ["'"]=4, ['`']=4, ['|']=4, ['%']=4 -} - --- using a table to store the result does not make sense here (actually, --- it's substantial slower since we're flushing lines on the fly) --- --- we could use a special catcode regime: only \ { } - -function buffers.visualizers.tex.flush_line(str,nested) - local result, state = { }, 0 - local first, escaping = false, false - local byte, find = utf.byte, utf.find - local finish, change = buffers.finish_state, buffers.change_state - buffers.currentcolors = buffers.visualizers.tex.colors - for c in utfcharacters(str) do - if c == " " then - if escaping then - result[#result+1] = " " - else - state = finish(state, result) - result[#result+1] = "\\obs " - end - escaping, first = false, false - elseif c == "\t" then - if escaping then - result[#result+1] = " " - else - state = finish(state, result) - result[#result+1] = "\\obs " - end - if buffers.visualizers.enabletab then - result[#result+1] = string.rep("\\obs ",i%buffers.visualizers.tablength) - end - escaping, first = false, false - elseif buffers.visualizers.enableescape and (c == buffers.visualizers.escapetoken) then - if escaping then - if first then - if find(c,"^[%a%!%?%@]$") then - result[#result+1] =c - else - result[#result+1] ="\\char" .. byte(c) .. " " - end - first = false - else - result[#result+1] = "\\" - first = true - end - else - state = finish(state, result) - result[#result+1] = "\\" - escaping, first = true, true - end - elseif escaping then - if find(c,"^[%a%!%?%@]$") then - result[#result+1] = c - else - result[#result+1] = "\\char" .. byte(c) .. " " - end - first = false - elseif first then - state = 1 - if find(c,"^[%a%!%?%@]$") then - result[#result+1] = c - else - result[#result+1] = "\\char" .. byte(c) .. " " - state = finish(state, result) - end - first = false - elseif state == 1 then - if find(c,"^[%a%!%?%@]$") then - result[#result+1] = c - first = false - elseif c == "\\" then - state = change(1, state, result) - result[#result+1] = "\\char" .. byte(c) .. " " - first = true - else - state = change(buffers.visualizers.tex.states[c], state, result) - if state == 0 then - result[#result+1] = c - else - result[#result+1] = "\\char" .. byte(c) .. " " - end - first = false - end - elseif c == "\\" then - first = true - state = change(1, state, result) - result[#result+1] = "\\char" .. byte(c) .. " " - else - state = change(buffers.visualizers.tex.states[c], state, result) - if state == 0 then - result[#result+1] = c - else - result[#result+1] = "\\char" .. byte(c) .. " " - end - first = false - end - end - state = finish(state, result) - buffers.flush_result(result,nested) -end |