diff --git a/lib/cljnim_runtime.nim b/lib/cljnim_runtime.nim index d459929..bc1bbe5 100644 --- a/lib/cljnim_runtime.nim +++ b/lib/cljnim_runtime.nim @@ -1,4 +1,4 @@ -import strutils, sequtils, hashes, algorithm +import strutils, sequtils, hashes, algorithm, os, osproc type CljKind* = enum @@ -1070,3 +1070,111 @@ proc cljRange*(start, finish: CljVal): CljVal = for i in start.intVal.. 0: + items.add(cljString(line)) + cljVector(items) diff --git a/src/emitter.nim b/src/emitter.nim index 213011c..98c5316 100644 --- a/src/emitter.nim +++ b/src/emitter.nim @@ -96,6 +96,18 @@ proc runtimeName(op: string): string = of "deref": "cljDeref" of "reset!": "cljReset" of "swap!": "cljSwap" + # ---- File operations ---- + of "file/read": "cljFileRead" + of "file/write": "cljFileWrite" + of "file/append": "cljFileAppend" + of "file/ls": "cljFileLs" + of "file/exists?": "cljFileExists" + # ---- Git operations ---- + of "git/status": "cljGitStatus" + of "git/commit": "cljGitCommit" + of "git/push": "cljGitPush" + of "git/diff": "cljGitDiff" + of "git/log": "cljGitLog" else: "" proc emitArgs(args: seq[CljVal]): string =