From f96f088eba5bae78bb39c17ea58ff7c1ced1ce6d Mon Sep 17 00:00:00 2001 From: I-Al-Istannen Date: Tue, 31 Mar 2020 12:03:24 +0200 Subject: [PATCH] Add nicer Show instance for Span --- src/Mima/Asm/Phase1.hs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Mima/Asm/Phase1.hs b/src/Mima/Asm/Phase1.hs index 015258b..6ecad39 100644 --- a/src/Mima/Asm/Phase1.hs +++ b/src/Mima/Asm/Phase1.hs @@ -183,7 +183,14 @@ type Phase1 = [AsmToken Span] type Parser = WriterT (Endo Phase1) (Parsec Void T.Text) data Span = Span SourcePos SourcePos - deriving (Show) + +instance Show Span where + show (Span start stop) + = "[" ++ formatSourcePos start ++ " - " ++ formatSourcePos stop ++ "]" + where + formatSourcePos sp + = formatPos (sourceLine sp) ++ ":" ++ formatPos (sourceColumn sp) + formatPos = show . unPos addTokens :: [AsmToken Span] -> Parser () addTokens = tell . Endo . (++)