hwylterm/config.nims

33 lines
1.3 KiB
Nim

import std/[os, strformat, strutils]
task test, "run tests":
selfExec "r tests/tbbansi.nim"
task develop, "install cligen for development":
exec "nimble install -l 'cligen@1.7.5'"
proc docFixup(deployDir:string, pkgName: string) =
## apply renames to api docs
withDir deployDir:
mvFile(pkgName & ".html", "index.html")
for file in walkDirRec(".", {pcFile}):
# As we renamed the file, we need to rename that in hyperlinks
exec(r"sed -i -r 's|$1\.html|index.html|g' $2" % [pkgName, file])
# drop 'src/' from titles
exec(r"sed -i -r 's/<(.*)>src\//<\1>/' $1" % file)
task docs, "Deploy doc html + search index to public/ directory":
let
deployDir = getCurrentDir() / "public"
pkgName = "hwylterm"
gitFlags = fmt"--git.url:'https://github.com/daylinmorgan/{pkgName}' --git.commit:main"
when defined(clean):
echo fmt"clearing {deployDir}"
rmDir deployDir
for module in ["cligen", "chooser", "logging", "cli"]:
selfExec fmt"doc --docRoot:{getCurrentDir()}/src/ --index:on --outdir:{deployDir} src/hwylterm/{module}"
selfExec fmt"doc --project --index:on {gitFlags} --outdir:{deployDir} --project src/{pkgName}.nim"
docFixup(deployDir,pkgName)
when withDir(thisDir(), system.dirExists("nimbledeps")):
--path:"./nimbledeps/pkgs2/cligen-1.7.5-f3ffe7329c8db755677d3ca377d02ff176cec8b1"