mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-27 09:43:58 +00:00
@@ -26,13 +26,10 @@ template builtin = discard
|
||||
# We know the effects better than the compiler:
|
||||
{.push hint[XDeclaredButNotUsed]: off.}
|
||||
|
||||
proc listDirs*(dir: string): seq[string] =
|
||||
## Lists all the subdirectories (non-recursively) in the directory `dir`.
|
||||
builtin
|
||||
proc listFiles*(dir: string): seq[string] =
|
||||
## Lists all the files (non-recursively) in the directory `dir`.
|
||||
builtin
|
||||
|
||||
proc listDirsImpl(dir: string): seq[string] {.
|
||||
tags: [ReadIOEffect], raises: [OSError].} = builtin
|
||||
proc listFilesImpl(dir: string): seq[string] {.
|
||||
tags: [ReadIOEffect], raises: [OSError].} = builtin
|
||||
proc removeDir(dir: string) {.
|
||||
tags: [ReadIOEffect, WriteIOEffect], raises: [OSError].} = builtin
|
||||
proc removeFile(dir: string) {.
|
||||
@@ -47,6 +44,7 @@ proc copyDir(src, dest: string) {.
|
||||
tags: [ReadIOEffect, WriteIOEffect], raises: [OSError].} = builtin
|
||||
proc createDir(dir: string) {.tags: [WriteIOEffect], raises: [OSError].} =
|
||||
builtin
|
||||
|
||||
proc getError: string = builtin
|
||||
proc setCurrentDir(dir: string) = builtin
|
||||
proc getCurrentDir*(): string =
|
||||
@@ -196,6 +194,16 @@ template log(msg: string, body: untyped) =
|
||||
if mode != ScriptMode.WhatIf:
|
||||
body
|
||||
|
||||
proc listDirs*(dir: string): seq[string] =
|
||||
## Lists all the subdirectories (non-recursively) in the directory `dir`.
|
||||
result = listDirsImpl(dir)
|
||||
checkOsError()
|
||||
|
||||
proc listFiles*(dir: string): seq[string] =
|
||||
## Lists all the files (non-recursively) in the directory `dir`.
|
||||
result = listFilesImpl(dir)
|
||||
checkOsError()
|
||||
|
||||
proc rmDir*(dir: string) {.raises: [OSError].} =
|
||||
## Removes the directory `dir`.
|
||||
log "rmDir: " & dir:
|
||||
|
||||
Reference in New Issue
Block a user