cligen/fileUt

Procs

proc fileEq(pathA, pathB: string): bool {....raises: [], tags: [WriteIOEffect],
    forbids: [].}
Compare whole file contents given paths. Returns true if and only if equal.
proc parseIx(ixSpec: string; sz: int; x: var int): int {....raises: [], tags: [],
    forbids: [].}
Apply index specification against a size to get integer index. Returns bytes of string parsed.
proc parseSlice(s: string): tuple[a, b: int] {....raises: [ValueError], tags: [],
    forbids: [].}
Parse [a][:][b]-like Python index/slice specification.
proc parseSlice(slcSpec: string; sz: int): Slice[int] {....raises: [], tags: [],
    forbids: [].}
Nim inclusive Slice-returning variant of parseSlice(slcSpec, sz, a, b).
proc parseSlice(slcSpec: string; sz: int; a, b: var int) {....raises: [], tags: [],
    forbids: [].}
Apply slice specification against a size to get index range [a,b). Syntax is [a][%][:[b[%]]], like Python but w/optional '%'. If "a"|"b" are on (0,1) their amount is a size fraction even without '%'. a==b => empty.