Skip to content

Commit

Permalink
feat: Move pandoc builtins to their own module and split filters, rea…
Browse files Browse the repository at this point in the history
…ders, and writers
  • Loading branch information
alerque committed Aug 27, 2024
1 parent b188bcf commit 1c44e4a
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 19 deletions.
1 change: 1 addition & 0 deletions luacheck-dev-1.rockspec
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ build = {
["luacheck.builtin_standards"] = "src/luacheck/builtin_standards/init.lua",
["luacheck.builtin_standards.love"] = "src/luacheck/builtin_standards/love.lua",
["luacheck.builtin_standards.minetest"] = "src/luacheck/builtin_standards/minetest.lua",
["luacheck.builtin_standards.pandoc"] = "src/luacheck/builtin_standards/pandoc.lua",
["luacheck.builtin_standards.playdate"] = "src/luacheck/builtin_standards/playdate.lua",
["luacheck.builtin_standards.ngx"] = "src/luacheck/builtin_standards/ngx.lua",
["luacheck.cache"] = "src/luacheck/cache.lua",
Expand Down
24 changes: 5 additions & 19 deletions src/luacheck/builtin_standards/init.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
local love = require "luacheck.builtin_standards.love"
local minetest = require "luacheck.builtin_standards.minetest"
local pandoc = require "luacheck.builtin_standards.pandoc"
local playdate = require "luacheck.builtin_standards.playdate"
local ngx = require "luacheck.builtin_standards.ngx"
local standards = require "luacheck.standards"
Expand Down Expand Up @@ -344,25 +345,10 @@ builtin_standards.sile = {
}
}

-- https://pandoc.org/lua-filters.html#global-variables
builtin_standards.pandoc = {
globals = {
-- Global modules
"pandoc", "lpeg", "re",
-- Global variables passed to filters
"FORMAT", "PANDOC_READER_OPTIONS", "PANDOC_WRITER_OPTIONS", "PANDOC_VERSION", "PANDOC_API_VERSION",
"PANDOC_SCRIPT_FILE", "PANDOC_STATE",
-- Globals that can be used to create filter elements
-- - top level
"Inlines", "Inline", "Blocks", "Block", "Meta", "Pandoc",
-- - inline
"Cite", "Code", "Emph", "Image", "LineBreak", "Link", "Math", "Note", "Quoted", "RawInline", "SmallCaps",
"SoftBreak", "Space", "Span", "Str", "Strikeout", "Strong", "Subscript", "Superscript", "Underline",
-- - block
"BlockQuote", "BulletList", "CodeBlock", "DefinitionList", "Div", "Figure", "Header", "HorizontalRule",
"LineBlock", "OrderedList", "Para", "Plain", "RawBlock", "Table",
}
}
builtin_standards.pandoc = add_defs(pandoc.common, pandoc.filter, pandoc.reader, pandoc.writer)
builtin_standards.pandoc_filter = add_defs(pandoc.common, pandoc.filter)
builtin_standards.pandoc_reader = add_defs(pandoc.common, pandoc.reader)
builtin_standards.pandoc_writer = add_defs(pandoc.common, pandoc.writer)

builtin_standards.none = {}

Expand Down
43 changes: 43 additions & 0 deletions src/luacheck/builtin_standards/pandoc.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
local common = {
globals = {
-- Global modules
"pandoc", "lpeg", "re",
}
}

-- https://pandoc.org/lua-filters.html#global-variables
local filter = {
globals = {
-- Global variables passed to filters
"FORMAT", "PANDOC_READER_OPTIONS", "PANDOC_WRITER_OPTIONS", "PANDOC_VERSION", "PANDOC_API_VERSION",
"PANDOC_SCRIPT_FILE", "PANDOC_STATE",
-- Globals that can be used to create filter elements
-- - top level
"Inlines", "Inline", "Blocks", "Block", "Meta", "Pandoc",
-- - inline
"Cite", "Code", "Emph", "Image", "LineBreak", "Link", "Math", "Note", "Quoted", "RawInline", "SmallCaps",
"SoftBreak", "Space", "Span", "Str", "Strikeout", "Strong", "Subscript", "Superscript", "Underline",
-- - block
"BlockQuote", "BulletList", "CodeBlock", "DefinitionList", "Div", "Figure", "Header", "HorizontalRule",
"LineBlock", "OrderedList", "Para", "Plain", "RawBlock", "Table",
}
}

local reader = {
globals = {
"Reader", "Extensions", "ByteStringReader"
}
}

local writer = {
globals = {
"PANDOC_DOCUMENT", "Writer", "Extensions", "Doc"
}
}

return {
common = common,
filter = filter,
reader = reader,
writer = writer,
}

0 comments on commit 1c44e4a

Please sign in to comment.