diff options
author | Karl Berry <karl@freefriends.org> | 2022-10-31 19:44:45 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-10-31 19:44:45 +0000 |
commit | b85211b0d457e8ea4625ba00efe5133ba6f42350 (patch) | |
tree | 5fe5a427c680f122e0292cfd107fbdea47125f90 /Master/texmf-dist/scripts | |
parent | 32a5e5c9e3c474a4be7e4ea8ab3101d0d6f208fe (diff) |
markdown (31oct22)
git-svn-id: svn://tug.org/texlive/trunk@64879 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/scripts')
-rw-r--r-- | Master/texmf-dist/scripts/markdown/markdown-cli.lua | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/Master/texmf-dist/scripts/markdown/markdown-cli.lua b/Master/texmf-dist/scripts/markdown/markdown-cli.lua index 8994abf8d10..03b5914d675 100644 --- a/Master/texmf-dist/scripts/markdown/markdown-cli.lua +++ b/Master/texmf-dist/scripts/markdown/markdown-cli.lua @@ -58,7 +58,7 @@ -- those in the standard .ins files. -- local metadata = { - version = "2.17.1-0-g8ca83f5", + version = "2.18.0-0-gd8ae860", comment = "A module for the conversion from markdown to plain TeX", author = "John MacFarlane, Hans Hagen, Vít Novotný", copyright = {"2009-2016 John MacFarlane, Hans Hagen", @@ -88,6 +88,7 @@ defaultOptions.fancyLists = false defaultOptions.fencedCode = false defaultOptions.finalizeCache = false defaultOptions.footnotes = false +defaultOptions.notes = false defaultOptions.frozenCacheCounter = 0 defaultOptions.hardLineBreaks = false defaultOptions.hashEnumerators = false @@ -95,9 +96,11 @@ defaultOptions.headerAttributes = false defaultOptions.html = false defaultOptions.hybrid = false defaultOptions.inlineFootnotes = false +defaultOptions.inlineNotes = false defaultOptions.jekyllData = false defaultOptions.pipeTables = false defaultOptions.preserveTabs = false +defaultOptions.rawAttribute = true defaultOptions.relativeReferences = false defaultOptions.shiftHeadings = 0 defaultOptions.slice = "^ $" @@ -138,7 +141,29 @@ local function warn(s) local function error(s) io.stderr:write("Error: " .. s .. "\n") - os.exit(1) end + os.exit(1) +end +local function camel_case(option_name) + local cased_option_name = option_name:gsub("_(%l)", function(match) + return match:sub(2, 2):upper() + end) + return cased_option_name +end + +local function snake_case(option_name) + local cased_option_name = option_name:gsub("%l%u", function(match) + return match:sub(1, 1) .. "_" .. match:sub(2, 2):lower() + end) + return cased_option_name +end + +local cases = {camel_case, snake_case} +local various_case_options = {} +for option_name, _ in pairs(defaultOptions) do + for _, case in ipairs(cases) do + various_case_options[case(option_name)] = option_name + end +end local process_options = true local options = {} @@ -151,6 +176,9 @@ for i = 1, #arg do goto continue elseif arg[i]:match("=") then local key, value = arg[i]:match("(.-)=(.*)") + if defaultOptions[key] == nil then + key = various_case_options[key] + end local default_type = type(defaultOptions[key]) if default_type == "boolean" then options[key] = (value == "true") |