aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Shared.hs
diff options
context:
space:
mode:
authorAlexander Krotov <ilabdsf@gmail.com>2018-11-01 14:09:11 +0300
committerJohn MacFarlane <jgm@berkeley.edu>2018-11-03 10:16:47 -0700
commit95eccb94b074a25fae7ac10523e38988bbeacada (patch)
treed7e383bdd3b5715166da9277e2b2ac76bad67144 /src/Text/Pandoc/Shared.hs
parent418bd42df85b93016e50ba48042804e8f51341b5 (diff)
downloadpandoc-95eccb94b074a25fae7ac10523e38988bbeacada.tar.gz
Add Text.Pandoc.Shared.ToString typeclass (API change)
Diffstat (limited to 'src/Text/Pandoc/Shared.hs')
-rw-r--r--src/Text/Pandoc/Shared.hs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs
index 5b88a7948..90789447f 100644
--- a/src/Text/Pandoc/Shared.hs
+++ b/src/Text/Pandoc/Shared.hs
@@ -6,6 +6,8 @@
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE ViewPatterns #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE TypeSynonymInstances #-}
{-
Copyright (C) 2006-2018 John MacFarlane <jgm@berkeley.edu>
@@ -43,6 +45,7 @@ module Text.Pandoc.Shared (
substitute,
ordNub,
-- * Text processing
+ ToString (..),
backslashEscapes,
escapeStringUsing,
stripTrailingNewlines,
@@ -193,6 +196,15 @@ ordNub l = go Set.empty l
-- Text processing
--
+class ToString a where
+ toString :: a -> String
+
+instance ToString String where
+ toString = id
+
+instance ToString T.Text where
+ toString = T.unpack
+
-- | Returns an association list of backslash escapes for the
-- designated characters.
backslashEscapes :: [Char] -- ^ list of special characters to escape