aboutsummaryrefslogtreecommitdiffstats
path: root/src/Utils.hs
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2022-10-05 14:48:14 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2022-12-05 14:21:53 +0200
commit694021a9bd1dd0420a8594ea24218c47fbbab51e (patch)
treecd59da1ef660dda410050b2ee467b16fdd8f60ca /src/Utils.hs
parent7a6dd411a5d8e515fa5fa3d32650565c2e8a5f1b (diff)
Refactor Depth into LContext
Diffstat (limited to 'src/Utils.hs')
-rw-r--r--src/Utils.hs12
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,