Zulip Chat Archive
Stream: lean4
Topic: load file relative to package home
James Gallicchio (Oct 10 2023 at 22:46):
I have a command elaborator genOpenAPI! <input>
that needs the contents of a file during its elaboration.
I have a Lake library GitHub
that I would like to distribute with a file (api.github.com.json
), and I want GitHub.lean
to call genOpenAPI! <something>
and load the file in.
How do I accomplish this? Is there an IO function in the environment that correctly tracks the current file's package's directory?
Mac Malone (Oct 10 2023 at 23:05):
import Lean.Elab.ElabRules
open Lean in
elab "file%" : term => do
return toExpr (← getFileName)
#eval file% -- "path/to/module.lean"
Mac Malone (Oct 10 2023 at 23:05):
(adapted from https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Source.20Location/near/387351837)
James Gallicchio (Oct 11 2023 at 00:42):
thanks :)
Last updated: Dec 20 2023 at 11:08 UTC