Commit graph

26741 commits

Author SHA1 Message Date
Wojciech Nawrocki
3667b46d1e chore: support goals embedded in messages 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
e8af38f586 chore: fix tests 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
f52940160e feat: better interactive goals 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
c948d87a28 chore: forgot import 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
568cc3cf11 refactor: consistent naming of widget modules 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
f7e9ba76dd perf: cache diagnostics in server
Reason 1: we were making quadratically many pretty-printer calls since each `publishMessages` would format the entire `MessageLog`.

Reason 2: we want to avoid formatting each diagnostic twice, once as interactive, and once as plain LSP diagnostic.
2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
c316a8ea69 fix: syntax not updating in header snapshots 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
ce7f31a654 feat: keep-alive semantics for RPC sessions 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
e3d866bc03 feat: initial TraceExplorer
Motivation: trace messages from systems such as instance synthesis or defeq checks can be massive and it is hard to find the relevant info within. We provide an interactive TraceExplorer component to do this.
2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
8207ca6493 feat: more widget Info integration 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
fdc11104eb feat: begin integrating Elab.Info in widgets 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
7ecea27986 feat: emit MessageData from Infos 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
382add19e2 chore: use new deriving handler 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
7d3db49a15 chore: log errors at identifier 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
7babcc2425 fix: tail-recursion in Format pretty-printer 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
77365abc8b chore: Repr Syntax and minor cleanup 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
1bab9f6ffc refactor: simplify delaborator monad stacks 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
73f219ddba fix: no non-expr embeds in diagnostics 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
73363bef1f fix: delab structure field annotations 2021-08-24 08:57:41 -07:00
Daniel Selsam
2f484ec096 feat: build info trees in delab 2021-08-24 08:57:41 -07:00
Daniel Selsam
c44d341bd4 feat: SubExpr support for iterating holes 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
fd3bf289c4 fix: text ordering 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
d116e2e923 feat: batch RPC release 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
f49b7c4c57 chore: drop superfluous "server"
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
cc23a21d3e chore: cleanup 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
d48b5548b2 feat: flatten tagged text
Motivation: in JavaScript `JSON.stringify` does not like deeply nested
objects (it blows the stack). With a flatter structure we can show
longer outputs without running into this issue.
2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
ae24d8a2db feat: interactive diagnostics take 1 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
d7c3866e14 perf: tail-recursive Json.compress 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
bc8027cdc6 perf: speed up String.intercalate 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
72df64e8fe chore: move RpcSession 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
2a20d41cd9 feat: BEq Json 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
690a152275 feat: interactive goals 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
dae1a94d53 feat: misc server additions 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
2f16d5f121 feat: expressions with bundled environments for RPC 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
6eaa536595 feat: pretty-printer with tags 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
528283bc7d feat: MonadPrettyFormat 2021-08-24 08:57:41 -07:00
Leonardo de Moura
269a3478e0 refactor: cleanup mkEquationsFor
and build eliminator type where alternatives have the extra
conditions that ensure none of the previous alternatives are applicable.
2021-08-23 20:19:24 -07:00
Leonardo de Moura
4f45a514fc fix: TC issue introduced by recent bug fix
This commit fixes the issue reported at
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/instance.20not.20synthesizing.20issue.3F
2021-08-23 17:32:19 -07:00
Leonardo de Moura
79e6732fc6 fix: update tokenTable at withNamespace parser combinator
It also moves `withOpen` and `withOpenDecl` applications to simplify
their definitions and make sure we do not need to reset the cache.
2021-08-23 09:41:36 -07:00
Leonardo de Moura
7edc42fdfc fix: scoped command after open command
The issue was reported at
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Ending.20a.20command
2021-08-23 08:29:30 -07:00
Leonardo de Moura
5a7044365b feat: add instances Alternative MetaM and Alternative TacticM 2021-08-22 22:29:09 -07:00
Leonardo de Moura
d93c4317d1 feat: add withOpenDecl and withOpen parsers
It allow us to process `open .. in ..` while parsing.
This is useful for activating a scoped parser while parsing.
TODO: `openOnly` and `openHiding`, these two cases are rarely used
with `open .. in ..`

closes #529
2021-08-22 20:50:35 -07:00
Leonardo de Moura
ca747e9b27 feat: use contradiction at leaves
closes #644
2021-08-22 18:41:02 -07:00
Leonardo de Moura
48e6188e89 feat: use exfalso at ElimEmptyInductive 2021-08-22 18:16:14 -07:00
Leonardo de Moura
e5c380fd4f feat: add exfalso 2021-08-22 18:14:49 -07:00
Leonardo de Moura
ec20725cfb feat: use searchFuel instead of searchDepth at contradiction 2021-08-22 17:41:12 -07:00
Leonardo de Moura
7385cbfe2d test: add mapTR test 2021-08-22 16:51:38 -07:00
Leonardo de Moura
4dccaa963b feat: add List.mapTR and csimp lemma 2021-08-22 09:32:19 -07:00
Leonardo de Moura
a942ab2b72 chore: update stage0 2021-08-21 17:03:30 -07:00
Leonardo de Moura
21c68a49e3 feat: elaborate nonrec modifier 2021-08-21 17:02:54 -07:00