Poshjure.psm1
<#
Poshjure by Matthew Ratzke #> function Import-PoshjFile { Param([string] $Path) $loadfile = [clojure.clr.api.Clojure]::var("clojure.core", "load-file") $loadfile.invoke([clojure.clr.api.Clojure]::read($Path)) } function Invoke-PoshjEval { Param([string] $Body) $eval = [clojure.clr.api.Clojure]::var("clojure.core", "eval") $eval.invoke([clojure.clr.api.Clojure]::read($Body)) } function Start-PoshjREPL { While ($input) { $input = Read-Host -Prompt "Poshjure>" Invoke-PoshjEval -Body $input } } function Start-Poshjure { Param( [boolean] $repl = $true, [string] $eval, [string] $script) if ($eval -ne "") { Invoke-PoshjEval -Body $eval } elseif ($script -ne "") { Import-PoshjFile -Path $script } elseif ($repl) { Write-Output "" Start-PoshjREPL } } |