{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE RankNTypes #-}
module Wingman.Range where
import Development.IDE hiding (rangeToRealSrcSpan, rangeToSrcSpan)
import Development.IDE.GHC.Compat.Core
import Development.IDE.GHC.Compat.Util as FS
------------------------------------------------------------------------------
-- | Convert a DAML compiler Range to a GHC SrcSpan
-- TODO(sandy): this doesn't belong here
rangeToSrcSpan :: String -> Range -> SrcSpan
rangeToSrcSpan file range = RealSrcSpan (rangeToRealSrcSpan file range) Nothing
rangeToRealSrcSpan :: String -> Range -> RealSrcSpan
rangeToRealSrcSpan file (Range (Position startLn startCh) (Position endLn endCh)) =
mkRealSrcSpan
(mkRealSrcLoc (FS.fsLit file) (fromIntegral $ startLn + 1) (fromIntegral $ startCh + 1))
(mkRealSrcLoc (FS.fsLit file) (fromIntegral $ endLn + 1) (fromIntegral $ endCh + 1))