From 5f13dbe2026c5966d82f3222a1b925dc9573ed37 Mon Sep 17 00:00:00 2001 From: Ganesh Viswanathan Date: Sun, 6 Oct 2019 19:47:45 -0700 Subject: [PATCH] Fix windows findFile --- nimterop/build.nim | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nimterop/build.nim b/nimterop/build.nim index c14bdaf..37fe932 100644 --- a/nimterop/build.nim +++ b/nimterop/build.nim @@ -263,7 +263,7 @@ proc findFile*(file: string, dir: string, recurse = true, first = false, regex = var cmd = when defined(windows): - "nimgrep --filenames --oneline --nocolor $1 $2 $3" + "nimgrep --filenames --nocolor $1 $2 $3" elif defined(linux): "find $3 $1 -regextype egrep -regex $2" elif defined(osx): @@ -283,7 +283,7 @@ proc findFile*(file: string, dir: string, recurse = true, first = false, regex = dir = dir / file.parentDir() file = file.extractFilename - cmd = cmd % [recursive, (".*[\\/]" & file & "$").quoteShell, dir.sanitizePath] + cmd = cmd % [recursive, (".*[\\\\/]" & file & "$").quoteShell, dir.sanitizePath] let (files, ret) = gorgeEx(cmd) @@ -291,14 +291,14 @@ proc findFile*(file: string, dir: string, recurse = true, first = false, regex = for line in files.splitLines(): let f = when defined(windows): - if ":" in line: - line.split(":", maxsplit = 1)[0] + if line.len != 0 and line[0] != ' ' and line[^7 .. ^1] != "matches": + line else: "" else: line - if (f.len != 0 and result.len == 0 or result.len > f.len): + if (f.len != 0 and (result.len == 0 or result.len > f.len)): result = f if first: break