on master help sign in
Merge pull request #4526 from doofin/master
86126a7Niklas Larsson
libs/prelude/Prelude/File.idr+6
@@ -375,3 +375,9 @@ changeDir : String -> IO Bool
375changeDir dir
375changeDir dir
376 = do ok <- foreign FFI_C "idris_chdir" (String -> IO Int) dir
376 = do ok <- foreign FFI_C "idris_chdir" (String -> IO Int) dir
377 pure (ok == 0)
377 pure (ok == 0)
378+
379+export
380+currentDir : IO String
381+currentDir = do
382+ MkRaw s <- foreign FFI_C "idris_currentDir" (IO (Raw String))
383+ pure s
rts/idris_stdfgn.c+8
@@ -259,3 +259,11 @@ VAL idris_getString(VM* vm, void* buffer) {
259 free(sb);
259 free(sb);
260 return str;
260 return str;
261}
261}
262+
263+VAL idris_currentDir() {
264+ char cwd[1024];
265+ if (getcwd(cwd, sizeof(cwd)) != NULL)
266+ return MKSTR(get_vm(),cwd);
267+ else
268+ return MKSTR(get_vm(),"");
269+}
rts/idris_stdfgn.h+2
@@ -55,4 +55,6 @@ VAL idris_time();
55
55
56void idris_forceGC();
56void idris_forceGC();
57
57
58+VAL idris_currentDir();
59+
58#endif
60#endif