src/nimvault/commands

Vault commands: seal, unseal, add, rm, mv, list, status.

All commands take a repo path and GpgConfig. Parallel GPG via startProcess with direct invocation (no shell).

Procs

proc add(repo, path: string; cfg: GpgConfig; noGitignore = false) {.
    ...raises: [IOError, Exception, OSError, ValueError], tags: [ReadEnvEffect,
    ReadIOEffect, ReadDirEffect, WriteIOEffect, RootEffect, ExecIOEffect,
    TimeEffect, WriteDirEffect], forbids: [].}
Add a file by its target path.
proc list(repo: string; cfg: GpgConfig) {.
    ...raises: [OSError, IOError, ValueError], tags: [ReadDirEffect, ExecIOEffect,
    ReadEnvEffect, RootEffect, ReadIOEffect, TimeEffect, WriteIOEffect],
    forbids: [].}
proc move(repo, oldPath, newPath: string; cfg: GpgConfig) {.
    ...raises: [Exception, OSError, IOError, ValueError], tags: [ReadEnvEffect,
    ReadIOEffect, RootEffect, ReadDirEffect, ExecIOEffect, TimeEffect,
    WriteIOEffect, WriteDirEffect], forbids: [].}
proc remove(repo, path: string; cfg: GpgConfig) {.
    ...raises: [OSError, IOError, ValueError], tags: [ReadEnvEffect, ReadIOEffect,
    ReadDirEffect, ExecIOEffect, RootEffect, TimeEffect, WriteIOEffect,
    WriteDirEffect], forbids: [].}
proc seal(repo: string; cfg: GpgConfig) {.
    ...raises: [OSError, IOError, ValueError], tags: [ReadDirEffect, ExecIOEffect,
    ReadEnvEffect, RootEffect, ReadIOEffect, TimeEffect, WriteIOEffect,
    WriteDirEffect], forbids: [].}
proc status(repo: string; cfg: GpgConfig) {.
    ...raises: [OSError, IOError, ValueError], tags: [ReadDirEffect, ExecIOEffect,
    ReadEnvEffect, RootEffect, ReadIOEffect, TimeEffect, WriteIOEffect,
    WriteDirEffect], forbids: [].}
proc unseal(repo: string; cfg: GpgConfig; allowUnsigned = false) {.
    ...raises: [OSError, IOError, ValueError, Exception], tags: [ReadDirEffect,
    ExecIOEffect, ReadEnvEffect, RootEffect, ReadIOEffect, TimeEffect,
    WriteIOEffect, WriteDirEffect], forbids: [].}