texlive[62376] branches/branch2021.final/Master/texmf-dist: yamlvars

commits+karl at tug.org commits+karl at tug.org
Thu Mar 3 22:08:29 CET 2022


Revision: 62376
          http://tug.org/svn/texlive?view=revision&revision=62376
Author:   karl
Date:     2022-03-03 22:08:29 +0100 (Thu, 03 Mar 2022)
Log Message:
-----------
yamlvars (3mar22) (branch)

Modified Paths:
--------------
    branches/branch2021.final/Master/texmf-dist/doc/lualatex/yamlvars/yamlvars.pdf
    branches/branch2021.final/Master/texmf-dist/doc/lualatex/yamlvars/yamlvars.tex
    branches/branch2021.final/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.lua
    branches/branch2021.final/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.sty

Modified: branches/branch2021.final/Master/texmf-dist/doc/lualatex/yamlvars/yamlvars.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2021.final/Master/texmf-dist/doc/lualatex/yamlvars/yamlvars.tex
===================================================================
--- branches/branch2021.final/Master/texmf-dist/doc/lualatex/yamlvars/yamlvars.tex	2022-03-03 21:08:22 UTC (rev 62375)
+++ branches/branch2021.final/Master/texmf-dist/doc/lualatex/yamlvars/yamlvars.tex	2022-03-03 21:08:29 UTC (rev 62376)
@@ -1,5 +1,5 @@
 % Kale Ewasiuk (kalekje at gmail.com)
-% 2022-02-25
+% 2022-03-03
 % Copyright (C) 2021-2022 Kale Ewasiuk
 %
 % Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -53,7 +53,7 @@
 \date{\today}
 
 
-
+\usepackage[pl,extrasnoglobals]{penlight}
 \usepackage[overwritedefs]{YAMLvars}
 \title{YAMLvars}
 \subtitle{a YAML variable parser for LuaLaTeX}

Modified: branches/branch2021.final/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.lua
===================================================================
--- branches/branch2021.final/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.lua	2022-03-03 21:08:22 UTC (rev 62375)
+++ branches/branch2021.final/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.lua	2022-03-03 21:08:29 UTC (rev 62376)
@@ -1,5 +1,5 @@
 --% Kale Ewasiuk (kalekje at gmail.com)
---% 2022-02-25
+--% 2022-03-03
 --% Copyright (C) 2021-2022 Kale Ewasiuk
 --%
 --% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -46,9 +46,15 @@
 --OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 --SOFTWARE.
 
+YAMLvars = {} -- self table
 
+YAMLvars.yaml = require'markdown-tinyyaml' -- note: YAMLvars.sty will have checked existence of this already
 
-YAMLvars = {} -- self table
+local pl = _G['penlight'] or _G['pl'] -- penlight for this namespace is pl
+if (__PL_EXTRAS__ == nil) or  (__PENLIGHT__ == nil) then
+    tex.sprint('\\PackageError{yamlvars}{penlight package with extras (or extrasnoglobals) option must be loaded before this package}{}')
+end
+
 YAMLvars.xfm = {}
 YAMLvars.prc = {}
 YAMLvars.dec = {} -- table of declare function
@@ -70,13 +76,12 @@
 
 YAMLvars.debug = false
 
-YAMLvars.yaml = require'markdown-tinyyaml' -- note: YAMLvars.sty will have checked existence of this already
-local pl = _G['penlight'] or _G['pl'] -- penlight for this namespace is pl
 
 
+
 function YAMLvars.debugtalk(s, ss)
     if YAMLvars.debug then
-        help_wrt(s, ss)
+        pl.tex.help_wrt(s, ss)
     end
 end
 
@@ -130,7 +135,7 @@
 end
 -- todo need distinction beyyween table and penlight list ???
 function YAMLvars.xfm.list2nl(var, val)
-    return pl.tablex.join(val,'\\\\ ')
+    return pl.List(val):join('\\\\ ')
 end
 
     --val = pl.array2d.map_slice1(_1..'\\\\', val, 1,-2)
@@ -150,7 +155,7 @@
 
 function YAMLvars.xfm.markdown(var, val)
      --return '\\begin{markdown} '..val..'\n \\end{markdown}'
-     help_wrt(val, md)
+     pl.tex.help_wrt(val, md)
      return [[begin markdown ..val..
 
      par end markdown]]
@@ -194,7 +199,7 @@
 
 function YAMLvars.prc.toggle(t, v) -- requires penlight extras
     local s = ''
-    if hasval(v) then
+    if pl.hasval(v) then
         s = '\\global\\toggletrue{'..t..'}'
     else
         s = '\\global\\togglefalse{'..t..'}'
@@ -358,15 +363,15 @@
     if c == 0 then
         return _YV_invalid_expression
     else
-        --help_wrt(s, var)
-        --help_wrt(val, var)
+        --pl.tex.help_wrt(s, var)
+        --pl.tex.help_wrt(val, var)
         YAMLvars.valTemp = val
         YAMLvars.varTemp = var
-        --help_wrt(s, var)
+        --pl.tex.help_wrt(s, var)
         s, c = s:gsub('\2', '') -- strip \2 that might have appeared if / was applied
         s = sub_lua_var(' '..s, 'x', 'YAMLvars.valTemp')
         s = sub_lua_var(s, 'v', 'YAMLvars.varTemp')
-        --help_wrt(s, var)
+        --pl.tex.help_wrt(s, var)
         local f, err = pcall(loadstring(s))
         if not f then
             tex.print('\\PackageError{YAMLvars}{xfm with "= or /" error on var "'..var..'"}{}') --
@@ -431,30 +436,9 @@
 
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 
--- https://tex.stackexchange.com/questions/38150/in-lualatex-how-do-i-pass-the-content-of-an-environment-to-lua-verbatim
-recordedbuf = ""
-function readbuf(buf)
-    i,j = string.find(buf, '\\end{%w+}')
-     if i==nil then -- if not ending an environment
-        recordedbuf = recordedbuf .. buf .. "\n"
-        return ""
-    else
-        return nil
-    end
-end
 
-function startrecording()
-    recordedbuf = ""
-    luatexbase.add_to_callback('process_input_buffer', readbuf, 'readbuf')
-end
 
-function stoprecording()
-    luatexbase.remove_from_callback('process_input_buffer', 'readbuf')
-    recordedbuf = recordedbuf:gsub("\\end{%w+}\n","")
-end
 
-
-
 function YAMLvars.doYAMLfiles(t)
     if #t == 2 then
         YAMLvars.declareYAMLvarsFile(t[1])
@@ -475,7 +459,7 @@
           end
       end
     end
-    --help_wrt(t)
+    --pl.tex.help_wrt(t)
     return t
  end
 
@@ -489,7 +473,7 @@
     --    y = clean_tex_spaces(y)
     --end
 --local function clean_tex_spaces(s)
---    help_wrt(s)
+--    pl.tex.help_wrt(s)
 --    if s:sub(1,2) == '%s' then
 --        s, _ = s:gsub('%s+','',1)
 --    end

Modified: branches/branch2021.final/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.sty
===================================================================
--- branches/branch2021.final/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.sty	2022-03-03 21:08:22 UTC (rev 62375)
+++ branches/branch2021.final/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.sty	2022-03-03 21:08:29 UTC (rev 62376)
@@ -1,5 +1,5 @@
 % Kale Ewasiuk (kalekje at gmail.com)
-% 2022-02-25
+% 2022-03-03
 % Copyright (C) 2021-2022 Kale Ewasiuk
 %
 % Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -25,7 +25,7 @@
 
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{YAMLvars}[2022-02-25]
+\ProvidesPackage{YAMLvars}[2022-03-03]
 
 \IfFileExists{markdown-tinyyaml.lua}{}{\PackageError{YAMLvars}{This package requires installation of the 'markdown' package, please install it and try again}{}}
 
@@ -32,7 +32,7 @@
 \RequirePackage{luacode}
 \RequirePackage{xspace}
 \RequirePackage{etoolbox}
-\RequirePackage[pl,extras]{penlight}
+\RequirePackage{penlight} % no option passed here, but extras must be used, error will be thrown if not
 
 \luadirect{YAMLvars = require('YAMLvars')}
 
@@ -53,6 +53,9 @@
         \luadirect{YAMLvars.debug = true}
 }
 
+\newcommand{\AllowUndeclaredYV}{\luadirect{YAMLvars.allowUndeclared = true}}
+\newcommand{\ForbidUndeclaredYV}{\luadirect{YAMLvars.allowUndeclared = false}}
+
 \DeclareOption*{\PackageWarning{YAMLvars}{Unknown option: '\CurrentOption'}{}}
 \ProcessOptions\relax
 
@@ -61,15 +64,13 @@
 \newcommand{\parseYAMLvarsFile}[1]{\luadirect{YAMLvars.parseYAMLvarsFile(\luastring{#1})}}
 
 
-\newenvironment{declareYAMLvars}{\luadirect{startrecording()}}{\luadirect{stoprecording()}
-\luadirect{YAMLvars.declareYAMLvarsStr(recordedbuf)}
+\newenvironment{declareYAMLvars}{\luadirect{pl.tex.startrecording()}}{\luadirect{pl.tex.stoprecording()}
+        \luadirect{YAMLvars.declareYAMLvarsStr(pl.tex.recordedbuf)}
 }
 
-\newenvironment{parseYAMLvars}{\luadirect{startrecording()}}{\luadirect{stoprecording()}
-\luadirect{YAMLvars.parseYAMLvarsStr(recordedbuf)}
+\newenvironment{parseYAMLvars}{\luadirect{pl.tex.startrecording()}}{\luadirect{pl.tex.stoprecording()}
+        \luadirect{YAMLvars.parseYAMLvarsStr(pl.tex.recordedbuf)}
 }
 
 \newcommand{\resetYAMLvarsspec}{\luadirect{YAMLvars.varspec = {}}}
 
-\newcommand{\AllowUndeclaredYV}{\luadirect{YAMLvars.allowUndeclared = true}}
-\newcommand{\ForbidUndeclaredYV}{\luadirect{YAMLvars.allowUndeclared = false}}



More information about the tex-live-commits mailing list.