From fbeddd527cb37155d14dc9af49fcbc523be422b9 Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Mon, 24 Feb 2014 21:23:50 +0000 Subject: [PATCH] Fixes #31 listPaths was using a non-cross-platform pattern in walkFiles. --- src/babel.nim | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/babel.nim b/src/babel.nim index d92528a..c77b26b 100644 --- a/src/babel.nim +++ b/src/babel.nim @@ -451,12 +451,18 @@ proc listPaths(packages: seq[String]) = for name in packages: var installed: seq[VersionAndPath] = @[] # There may be several, list all available ones and sort by version. - for file in walkFiles(pkgsDir / name & "-*" / name & ".babel"): - var pkgInfo = getPkgInfo(splitFile(file).dir) - var v: VersionAndPath - v.version = newVersion(pkgInfo.version) - v.path = pkgsDir / (pkgInfo.name & '-' & pkgInfo.version) - installed.add(v) + for kind, path in walkDir(pkgsDir): + if kind != pcDir or not path.startsWith(pkgsDir / name): continue + + let babelFile = path / name.addFileExt("babel") + if existsFile(babelFile): + var pkgInfo = getPkgInfo(path) + var v: VersionAndPath + v.version = newVersion(pkgInfo.version) + v.path = pkgsDir / (pkgInfo.name & '-' & pkgInfo.version) + installed.add(v) + else: + echo "Warning: No .babel file found for ", path if installed.len > 0: sort(installed, system.cmp[VersionAndPath], Descending)