minpkg/core/baseutils.nim
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
import strutils, os, json proc reverse*[T](xs: openarray[T]): seq[T] = result = newSeq[T](xs.len) for i, x in xs: result[result.len-i-1] = x proc simplifyPath*(filename: string, f: string): string = let file = strutils.replace(f, "\\", "/") let fn = strutils.replace(filename, "./", "") var dirs: seq[string] = fn.split("/") discard dirs.pop let pwd = dirs.join("/") if pwd == "": result = file else: result = pwd&"/"&file proc unix*(s: string): string = return s.replace("\\", "/") proc parentDirEx*(s: string): string = return s.parentDir proc escapeEx*(s: string, unquoted = false): string = if unquoted: return s.escapeJsonUnquoted return s.escapeJson |