@@ -6,6 +6,8 @@
66
77{-# LANGUAGE ScopedTypeVariables #-}
88{-# LANGUAGE ViewPatterns #-}
9+{-# LANGUAGE FlexibleInstances #-}
10+{-# LANGUAGE TypeSynonymInstances #-}
911{-
1012Copyright (C) 2006-2018 John MacFarlane <jgm@berkeley.edu>
1113
@@ -43,6 +45,7 @@ module Text.Pandoc.Shared (
4345 substitute,
4446 ordNub,
4547 -- * Text processing
48+ ToString (..),
4649 backslashEscapes,
4750 escapeStringUsing,
4851 stripTrailingNewlines,
@@ -193,6 +196,15 @@ ordNub l = go Set.empty l
193196-- Text processing
194197--
195198
199+class ToString a where
200+ toString :: a -> String
201+
202+instance ToString String where
203+ toString = id
204+
205+instance ToString T.Text where
206+ toString = T.unpack
207+
196208-- | Returns an association list of backslash escapes for the
197209-- designated characters.
198210backslashEscapes :: [Char] -- ^ list of special characters to escape