@@ -26,7 +26,7 @@ import Control.Concurrent.Chan.Unagi (InChan)
2626import Control.Monad.State.Class
2727import Cornelis.Debug
2828import Cornelis.Offsets (Pos (.. ), Interval (.. ), AgdaIndex , AgdaPos , AgdaInterval , VimIndex , LineNumber , Indexing (.. ))
29- import Cornelis.Types.Agda (InteractionId )
29+ import Cornelis.Types.Agda (InteractionId , Rewrite ( .. ) )
3030import Data.Aeson hiding (Error )
3131import Data.Char (toLower )
3232import Data.Functor.Identity
@@ -102,11 +102,20 @@ readSplitLocation s = case fmap toLower s of
102102 " bottom" -> Just OnBottom
103103 _ -> Nothing
104104
105+ readRewrite :: String -> Maybe Rewrite
106+ readRewrite s = case fmap toLower s of
107+ " asis" -> Just AsIs
108+ " instantiated" -> Just Instantiated
109+ " headnormal" -> Just HeadNormal
110+ " simplified" -> Just Simplified
111+ " normalised" -> Just Normalised
112+ _ -> Nothing
105113
106114data CornelisConfig = CornelisConfig
107115 { cc_max_height :: Int64
108116 , cc_max_width :: Int64
109117 , cc_split_location :: SplitLocation
118+ , cc_rewrite_mode :: Rewrite
110119 }
111120 deriving (Show , Generic )
112121
@@ -115,6 +124,7 @@ data CornelisEnv = CornelisEnv
115124 , ce_stream :: InChan AgdaResp
116125 , ce_namespace :: Int64
117126 , ce_config :: CornelisConfig
127+
118128 }
119129 deriving Generic
120130
0 commit comments