diff options
Diffstat (limited to 'nimfunge98.nimble')
-rw-r--r-- | nimfunge98.nimble | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/nimfunge98.nimble b/nimfunge98.nimble index 71d4e92..c3a0443 100644 --- a/nimfunge98.nimble +++ b/nimfunge98.nimble @@ -19,7 +19,25 @@ task test, "Runs the test suite": task coverage, "Run all tests and calculate coverage": exec "coco --target 'tests/**/*.nim' --cov '!tests,!nimcache'" +import os, strformat + +task fmt, "Run nimpretty on all git-managed .nim files in the current repo": + ## Usage: nim fmt + for file in walkDirRec("./", {pcFile, pcDir}): + if file.splitFile().ext == ".nim": + let + # https://github.com/nim-lang/Nim/issues/6262#issuecomment-454983572 + # https://stackoverflow.com/a/2406813/1219634 + fileIsGitManaged = gorgeEx("cd $1 && git ls-files --error-unmatch $2" % [getCurrentDir(), file]).exitCode == 0 + # ^^^^^-- That "cd" is required. + if fileIsGitManaged: + let + cmd = "nimpretty --maxLineLen=180 $1" % [file] + echo "Running $1 .." % [cmd] + exec(cmd) + task clean, "Clean": exec "rm -rf coverage lcov.info nimcache" exec "rm -rf outputGotten.txt testresults tests/megatest.nim" + exec "rm -rf src/htmldocs" exec "find tests/ -type f -executable -delete" |