diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2022-10-05 14:48:14 +0300 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2022-12-05 14:21:53 +0200 |
| commit | 694021a9bd1dd0420a8594ea24218c47fbbab51e (patch) | |
| tree | cd59da1ef660dda410050b2ee467b16fdd8f60ca /src/Utils.hs | |
| parent | 7a6dd411a5d8e515fa5fa3d32650565c2e8a5f1b (diff) | |
Refactor Depth into LContext
Diffstat (limited to 'src/Utils.hs')
| -rw-r--r-- | src/Utils.hs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/Utils.hs b/src/Utils.hs index 8ee2056..8dd233f 100644 --- a/src/Utils.hs +++ b/src/Utils.hs @@ -26,7 +26,8 @@ type Env = M.Map String AST data LState = LState { stateConfig :: Config, - stateEnv :: Env + stateEnv :: Env, + stateDepth :: Int } type LContext a = StateT LState (ExceptT LException IO) a @@ -53,6 +54,15 @@ insertEnv k v = do env <- getEnv putEnv $ M.insert k v env +incrementDepth :: LContext () +incrementDepth = + modify (\s -> s { stateDepth = stateDepth s + 1 }) + +getDepth :: LContext Int +getDepth = do + s <- get + return $ stateDepth s + data Token = Token { tokenContent :: String, tokenRow :: Int, |
