mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-08-26 10:05:09 +08:00
Normalize \ to / in diff output on Windows (fixes #3240)
This commit is contained in:
@@ -191,11 +191,17 @@ splitLast x =
|
||||
let (last, rest) = splitAt 1 $ reverse x
|
||||
in (reverse rest, last)
|
||||
|
||||
-- git patch does not like `\` on Windows
|
||||
normalizePath path =
|
||||
case path of
|
||||
c:rest -> (if c == pathSeparator then '/' else c) : normalizePath rest
|
||||
[] -> []
|
||||
|
||||
formatDoc color (DiffDoc name lf regions) =
|
||||
let (most, last) = splitLast regions
|
||||
in
|
||||
(color bold $ "--- " ++ ("a" </> name)) ++ "\n" ++
|
||||
(color bold $ "+++ " ++ ("b" </> name)) ++ "\n" ++
|
||||
(color bold $ "--- " ++ (normalizePath $ "a" </> name)) ++ "\n" ++
|
||||
(color bold $ "+++ " ++ (normalizePath $ "b" </> name)) ++ "\n" ++
|
||||
concatMap (formatRegion color LinefeedOk) most ++
|
||||
concatMap (formatRegion color lf) last
|
||||
|
||||
|
Reference in New Issue
Block a user