diff options
author | Hans Hagen <pragma@wxs.nl> | 2023-05-27 12:37:50 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2023-05-27 12:37:50 +0200 |
commit | 32381f97e98465953bfde24b4436093e70fbe70f (patch) | |
tree | 1f585cf7af509e76c64aca108cecd23acd6fb437 /tex/context/base/mkxl/buff-ini.lmt | |
parent | bb8ae12f4f94189fd1540b201e2aea78f485de97 (diff) | |
download | context-32381f97e98465953bfde24b4436093e70fbe70f.tar.gz |
2023-05-27 12:16:00
Diffstat (limited to 'tex/context/base/mkxl/buff-ini.lmt')
-rw-r--r-- | tex/context/base/mkxl/buff-ini.lmt | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/tex/context/base/mkxl/buff-ini.lmt b/tex/context/base/mkxl/buff-ini.lmt index 9f5535638..39c7ee655 100644 --- a/tex/context/base/mkxl/buff-ini.lmt +++ b/tex/context/base/mkxl/buff-ini.lmt @@ -828,7 +828,7 @@ end -- moved here: -function buffers.samplefile(name) +function buffers.samplefile(name,before,after,inbetween) if not exists(name) then assign(name,io.loaddata(resolvers.findfile(name))) end @@ -837,10 +837,37 @@ end implement { name = "samplefile", -- bad name, maybe rename to injectbuffercontent + public = true, + protected = true, actions = buffers.samplefile, arguments = "string" } +function buffers.splitsamplefile(name,before,after,inbetween) + local data = io.loaddata(resolvers.findfile(name)) or "" + local split = string.split(utilities.strings.striplines(data,"prune and collapse"),lpeg.patterns.whitespace^1) + local size = #split + local before = tonumber(before) or 1 + local after = tonumber(after) or 1 + if before + after < size then + table.move(split,size-after,size,before+1) + if inbetween and inbetween ~= "" then + split[before+1] = inbetween + end + data = concat(split, " ",1,before+after+1) + end + assign(name,data) + getbuffer(name) +end + +implement { + name = "splitsamplefile", -- bad name, maybe rename to injectbuffercontent + public = true, + protected = true, + actions = buffers.splitsamplefile, + arguments = "4 strings", +} + -- A somewhat strange place (for now) so the *.log definitions might move someplace -- else (if useful at all). |