pathcache

Source   Edit  

Filesystem path snapshots for one compiler invocation. Config scripts and long-lived IDE sessions use uncached paths instead.

Types

PathCache = object
Source   Edit  

Procs

proc expandFilename(cache: var PathCache; path: string): string {.
    ...raises: [OSError, KeyError], tags: [ReadDirEffect], forbids: [].}
Preserve filesystem canonicalization, including symlinks, on cache misses. Failed resolutions are not cached: generated files may appear later. Source   Edit  
proc getCurrentDir(cache: var PathCache): string {....raises: [OSError], tags: [],
    forbids: [].}
Capture the compiler's working directory on first use. Source   Edit  
proc relativePath(cache: var PathCache; path, base: string; sep = DirSep): string {.
    ...raises: [ValueError, OSError], tags: [RootEffect], forbids: [].}
Supply the known working directory when stdlib would otherwise query it. Keep the stdlib's lexical handling when both paths have the same kind. Source   Edit  
proc reset(cache: var PathCache) {....raises: [], tags: [], forbids: [].}
Discard paths after code that can change the working directory or symlinks. Source   Edit