From 4706df22179a73c25af3ba9cb65ec4e3ee96b177 Mon Sep 17 00:00:00 2001 From: Leni Aniva Date: Sat, 9 Mar 2024 19:36:25 -0800 Subject: [PATCH] feat(lib): Search path function --- Main.lean | 3 +-- Pantograph/Library.lean | 6 ++++++ 2 files changed, 7 insertions(+), 2 deletions(-) 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