LSP document symbols

This commit is contained in:
2026-03-07 21:33:12 -08:00
parent 90e36d8faf
commit 92ced8dcd2
6 changed files with 75 additions and 33 deletions

View File

@@ -28,15 +28,19 @@ dumpEnv ctx =
go : List String -> Int -> List (Val × String × Val) -> List String -> M (List String)
go _ _ Nil acc = pure acc
go names k ((v, n, ty) :: xs) acc = if isVar k v
-- TODO - use Doc and add <+/> as appropriate to printing
then do
-- don't show the = bit for now. Lean folds it.
go names k ((v, n, ty) :: xs) acc = do
ty' <- quote ctx.lvl ty
go names (1 + k) xs (" \{n} : \{render 90 $ pprint names ty'}":: acc)
else do
v' <- quote ctx.lvl v
ty' <- quote ctx.lvl ty
go names (1 + k) xs (" \{n} = \{render 90 $ pprint names v'} : \{render 90 $ pprint names ty'}":: acc)
-- go names k ((v, n, ty) :: xs) acc = if isVar k v
-- then do
-- ty' <- quote ctx.lvl ty
-- go names (1 + k) xs (" \{n} : \{render 90 $ pprint names ty'}":: acc)
-- else do
-- v' <- quote ctx.lvl v
-- ty' <- quote ctx.lvl ty
-- go names (1 + k) xs (" \{n} = \{render 90 $ pprint names v'} : \{render 90 $ pprint names ty'}":: acc)
logMetas : List MetaEntry -> M Unit