Files
pandoc/doc/pandoc-lua.md
2026-05-11 12:29:45 +02:00

85 lines
2.6 KiB
Markdown

---
title: pandoc-lua
section: 1
date: September 22, 2022
---
# NAME
pandoc-lua - Lua interface to pandoc API
# SYNOPSIS
`pandoc-lua` [*options*] [*script* [*args*]]
# DESCRIPTION
`pandoc-lua` is a standalone Lua interpreter with behavior similar
to that of the standard `lua` executable, but exposing all of
pandoc's Lua libraries. All `pandoc.*` packages, as well as the
packages `re` and `lpeg`, are available via global variables.
Furthermore, the globals `PANDOC_VERSION`, `PANDOC_STATE`, and
`PANDOC_API_VERSION` are set at startup.
If no script argument is given, then the script is assumed to be
passed in via *stdin*. When called without arguments, `pandoc-lua`
behaves as `pandoc-lua -v -i` when the standard input (`stdin`) is
a terminal, and as `pandoc-lua -` otherwise. On Windows the
program will always behave as if it was connected to a terminal.
When called without the option `-E`, the interpreter checks for an
environment variable `LUA_INIT` before running any argument. If
the variable content has the format *`@filename`*, then
`pandoc-lua` executes the file. Otherwise, `pandoc-lua` executes
the string itself.
# OPTIONS
`-e stat`
: Execute statement `stat`.
`-l mod`
: If mod has the pattern `g=m`, then require library `m` into
global `g`; otherwise require library `mod` into global
`mod`.
`-v`
: Show version information.
`-i`
: Enter interactive mode after running *script*.
`-E`
: Ignore environment variables. This is not fully implemented
yet and only ignores the `LUA_INIT` variable. Other variables
like `LUA_PATH` and `LUA_CPATH` are **not** ignored.
`-W`
: Turn warnings on.
# INTERACTIVE MODE
In interactive mode, the Lua interpreter repeatedly prompts and
waits for a line. After reading a line, Lua first tries to
interpret the line as an expression. If it succeeds, it prints its
value. Otherwise, it interprets the line as a statement. If you
write an incomplete statement, the interpreter waits for its
completion by issuing a different prompt.
Exit the interactive mode by pressing `Ctrl-D` or `Ctrl-C`, or by
typing `os.exit()`. The *Isocline* library is used for line
editing. Press `F1` to get a list of available keybindings; the
`ctrl` key is abbreviated as `^` in that list.
# AUTHORS
Copyright 2023 John MacFarlane (jgm@berkeley.edu) and
contributors. Released under the [GPL], version 2 or later. This
software carries no warranty of any kind. (See COPYRIGHT for full
copyright and warranty notices.)
Lua: Copyright 1994-2023 Lua.org, PUC-Rio.
[GPL]: https://www.gnu.org/copyleft/gpl.html "GNU General Public License"