summaryrefslogtreecommitdiff
path: root/compiler/utils/Outputable.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/utils/Outputable.hs')
-rw-r--r--compiler/utils/Outputable.hs12
1 files changed, 11 insertions, 1 deletions
diff --git a/compiler/utils/Outputable.hs b/compiler/utils/Outputable.hs
index 768d247bf0..7c2eaed62d 100644
--- a/compiler/utils/Outputable.hs
+++ b/compiler/utils/Outputable.hs
@@ -56,7 +56,7 @@ module Outputable (
pprPrimChar, pprPrimInt, pprPrimWord, pprPrimInt64, pprPrimWord64,
- pprFastFilePath,
+ pprFastFilePath, pprFilePathString,
-- * Controlling the style in which output is printed
BindingSite(..),
@@ -999,6 +999,16 @@ pprInfixVar is_operator pp_v
pprFastFilePath :: FastString -> SDoc
pprFastFilePath path = text $ normalise $ unpackFS path
+-- | Normalise, escape and render a string representing a path
+--
+-- e.g. "c:\\whatever"
+pprFilePathString :: FilePath -> SDoc
+pprFilePathString path = doubleQuotes $ text (escape (normalise path))
+ where
+ escape [] = []
+ escape ('\\':xs) = '\\':'\\':escape xs
+ escape (x:xs) = x:escape xs
+
{-
************************************************************************
* *