module Ide.Plugin.Tactic.Range where
import qualified FastString as FS
import Development.IDE.Types.Location
import SrcLoc
rangeToSrcSpan :: String -> Range -> SrcSpan
rangeToSrcSpan :: String -> Range -> SrcSpan
rangeToSrcSpan String
file Range
range = RealSrcSpan -> SrcSpan
RealSrcSpan (RealSrcSpan -> SrcSpan) -> RealSrcSpan -> SrcSpan
forall a b. (a -> b) -> a -> b
$ String -> Range -> RealSrcSpan
rangeToRealSrcSpan String
file Range
range
rangeToRealSrcSpan :: String -> Range -> RealSrcSpan
rangeToRealSrcSpan :: String -> Range -> RealSrcSpan
rangeToRealSrcSpan String
file (Range (Position Int
startLn Int
startCh) (Position Int
endLn Int
endCh)) =
RealSrcLoc -> RealSrcLoc -> RealSrcSpan
mkRealSrcSpan
(FastString -> Int -> Int -> RealSrcLoc
mkRealSrcLoc (String -> FastString
FS.fsLit String
file) (Int
startLn Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Int
1) (Int
startCh Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Int
1))
(FastString -> Int -> Int -> RealSrcLoc
mkRealSrcLoc (String -> FastString
FS.fsLit String
file) (Int
endLn Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Int
1) (Int
endCh Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Int
1))