自分向けメモ
ひとまず適当なLuaフィルタを書く。下記みたいに。1回回ればよいのでDocでいいんじゃないかな。
function Doc(e) for k,v in pairs(pandoc.pandoc) do print(k) end end
これを任意のファイルを入力に、出力を任意の形式にして--lua-filter
で先のLuaフィルタを食わせると下記が標準出力に出力される。
debug pandoc.types coroutine pandoc.mediabag package _G pandoc.List string os pandoc.utils math pandoc.system text utf8 table io
これがPandoc内で使用可能なパッケージと考えてよいはず。_G
は知らない子ですね…。
pandoc.system
はヘルプと名前の違う関数がいたのでPR出しました。それはまた後程。
なお、最初に書いた、Docに対する処理の書き方は古いらしい。ってK4氏に言われた。ので、本番Lua フィルタでは書かないほうが良いですね!
なお、_Gはおそらくグローバル環境じゃないかなと。ちゃんと調べてないけど^[調べたら確かにグローバル環境のことだった]。もしそうなら何かしらrequireしなくても使えるライブラリや関数、変数のリストということになるのかな。
PANDOC_READER_OPTIONS rawget os loadfile add_accessors string dofile rawlen next rawequal io tonumber make_indexing_function PANDOC_SCRIPT_FILE select _VERSION getmetatable PANDOC_API_VERSION error type print coroutine load assert rawset table ipairs Doc FORMAT require pandoc pairs utf8 pcall math collectgarbage xpcall debug tostring PANDOC_VERSION PANDOC_STATE package setmetatable _G
なんで_Gが見えるんだろう?って気もするけど、グローバル環境下でアクセスできないとそれは困るからこれでいいのか。