diff --git a/Main.lean b/Main.lean index 7c36db2..de73033 100644 --- a/Main.lean +++ b/Main.lean @@ -48,8 +48,7 @@ unsafe def main (args: List String): IO Unit := do println! s!"{version}" return - Lean.enableInitializersExecution - Lean.initSearchPath (← Lean.findSysroot) + initSearch "" let coreContext ← args.filterMap (λ s => if s.startsWith "--" then .some <| s.drop 2 else .none) |>.toArray |> createCoreContext diff --git a/Pantograph/Library.lean b/Pantograph/Library.lean index 5b5e954..07e4656 100644 --- a/Pantograph/Library.lean +++ b/Pantograph/Library.lean @@ -38,6 +38,12 @@ namespace Pantograph @[export pantograph_version] def pantographVersion: String := version +/-- Adds the given paths to Lean package search path -/ +@[export pantograph_init_search] +unsafe def initSearch (sp: String): IO Unit := do + Lean.enableInitializersExecution + Lean.initSearchPath (← Lean.findSysroot) (sp := System.SearchPath.parse sp) + /-- Creates a Core.Context object needed to run all monads -/ @[export pantograph_create_core_context] def createCoreContext (options: Array String): IO Lean.Core.Context := do