Skip to content

Conversation

@alerque
Copy link
Member

@alerque alerque commented Apr 24, 2025

Closes #1521.

I've dreamed of this being possible for over a decade. Now it's a reality.

-- Tired
SILE.call("noindent")
SILE.call("font", { family = "Libertinus Serif" }, content)

-- Wired
noindent()
font({ family = "Libertinus Serif" }, content)

I'm still considering what command scopes are useful where. Having this available highlights some issues to think through:

  • How to handle XML vs SIL vs Lua global namespacing rules.
  • How to surface useful things like SILE.typesetter:typeset(), register a thin wrapper aronud it?
  • Should this be made available by default inside Lua module code?
  • How can we handle linting witih such a range of commands available?
  • What should be do about document commands that clobber Lua globals?

@alerque alerque added this to the v0.16.0 milestone Apr 24, 2025
@alerque alerque force-pushed the command-envs branch 3 times, most recently from 9497a98 to 38fc873 Compare April 25, 2025 10:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant