diff options
author | Hans Hagen <pragma@wxs.nl> | 2017-09-05 16:23:29 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2017-09-05 16:23:29 +0200 |
commit | 9e7f89f8e06f60cd518f013074cd56599a69fb8f (patch) | |
tree | c225424668f8726db832f91cbf7391450df97dd2 /tex/context/modules/mkiv/m-scite.mkiv | |
parent | 2faa09e17f36cccda88b3ce144e5f2d76e092580 (diff) | |
download | context-9e7f89f8e06f60cd518f013074cd56599a69fb8f.tar.gz |
2017-09-05 15:17:00
Diffstat (limited to 'tex/context/modules/mkiv/m-scite.mkiv')
-rw-r--r-- | tex/context/modules/mkiv/m-scite.mkiv | 57 |
1 files changed, 42 insertions, 15 deletions
diff --git a/tex/context/modules/mkiv/m-scite.mkiv b/tex/context/modules/mkiv/m-scite.mkiv index 18950f6a1..254402ddf 100644 --- a/tex/context/modules/mkiv/m-scite.mkiv +++ b/tex/context/modules/mkiv/m-scite.mkiv @@ -64,6 +64,7 @@ local f_none_none = formatters["\\unexpanded\\def\\slx%s#1{{#1}}%%"] local f_texstyled = formatters["\\slx%s{%s}"] local f_hanging = formatters["\\slxb{%s}%s\\slxe"] +local v_none = interfaces.variables.none local f_mapping = [[ \let\string\slxL\string\letterleftbrace @@ -152,7 +153,9 @@ local function exportstyled(lexer,text) local position = result[i+1] local txt = sub(text,start,position-1) txt = lpegmatch(replacer,txt) - if whites[style] then + if txt == "" then + -- skip + elseif whites[style] then buffer[#buffer+1] = txt else buffer[#buffer+1] = f_texstyled(style,txt) @@ -208,9 +211,21 @@ local loaddata = io.loaddata local loadedlexers = scite.loadedlexers local function lexdata(data,lexname) - local styled = exportstyled(loadedlexers[lexname],data or "") - styled = indent(styled) - assignbuffer("lex",styled) + if not data then + data = "" + elseif data ~= "" then + if data and not find(data,"[\r\n]$") then + -- fix for lexbyline + data = data .. "\r" + end + if lexname == v_none then + data = string.formatters["%!tex!"](data) + else + data = exportstyled(loadedlexers[lexname] or loadedlexers.tex,data) + end + data = indent(data) + end + assignbuffer("lex",data) end scite.lexdata = lexdata @@ -276,17 +291,20 @@ visualizers.register("bibtex",visualizer) visualizers.register("btx", visualizer) visualizers.register("web", visualizer) visualizers.register("cpp", visualizer) +visualizers.register("txt", visualizer) -----------.register("sql", visualizer) \stopluacode -\definetyping[TEX][option=cld] -\definetyping[LUA][option=lua] -\definetyping[BTX][option=bibtex] -\definetyping[MPS][option=mps] -\definetyping[MP] [option=mps] -\definetyping[CPP][option=web] -\definetyping[WEB][option=web] +\definetyping[TEX] [option=cld] +\definetyping[LUA] [option=lua] +\definetyping[BTX] [option=bibtex] +\definetyping[MPS] [option=mps] +\definetyping[MP] [option=mps] +\definetyping[CPP] [option=web] +\definetyping[WEB] [option=web] +\definetyping[TXT] [option=txt] +\definetyping[NONE][option=none] % This is a preliminary interface. @@ -308,7 +326,7 @@ visualizers.register("cpp", visualizer) \unexpanded\def\installscitecommandsinline {\scitespaceskip\interwordspace % \fontcharwd\font`0\relax % brrrrr \let\slxb\gobbleoneargument - \let\slxe\relax + \let\slxe\space \let\installscitecommandsinline\relax} \unexpanded\def\installscitecommandsdisplay @@ -355,7 +373,7 @@ visualizers.register("cpp", visualizer) \endgroup} \unexpanded\def\scitebuffer - {\dodoubleargument\module_scite_buffer} + {\dodoubleempty\module_scite_buffer} \unexpanded\def\module_scite_buffer[#1][#2]% {\begingroup @@ -370,12 +388,12 @@ visualizers.register("cpp", visualizer) \dontcomplain \raggedright \startlines - \getbuffer[lex]% + \getbuffer[lex] \stoplines \endgroup} \unexpanded\def\sciteinlinebuffer - {\dodoubleargument\module_scite_buffer_inline} + {\dodoubleempty\module_scite_buffer_inline} \unexpanded\def\module_scite_buffer_inline[#1][#2]% {\dontleavehmode @@ -468,4 +486,13 @@ visualizers.register("cpp", visualizer) % \getbuffer[demo] \scitebuffer[demo] +\startbuffer[foo] +This is text. % line 1 +This is text. % line 2 +\stopbuffer + +\scitebuffer[none][foo] + +\sciteinlinebuffer[none][foo] + \stoptext |