Marc Huisinga
382d0474c4
chore: remove dead code and fix some minor styling details
2020-12-23 20:00:36 +01:00
Marc Huisinga
fe9af6a602
chore: refactor old compiler bug hack fix
2020-12-23 20:00:36 +01:00
Marc Huisinga
2687a2e582
fix: loss of user input when worker event is received
2020-12-23 20:00:36 +01:00
Marc Huisinga
e066ae1f28
fix: crash handling on cancelRequest, keep looping on forwarding task crash, filter crashed tasks
2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
0e2e2886c8
feat: debugging LSP server via LEAN_SERVER_LOG_DIR
2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
f13b703285
chore: re-add 'runWithInputFile' to server
2020-12-23 20:00:36 +01:00
Sebastian Ullrich
3cdcdac921
feat: infer worker path
2020-12-23 20:00:36 +01:00
Marc Huisinga
65161d6944
fix: bug where deleting a newline after imports caused incorrect parsing
2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
ca7fee7f0a
fix: detect header changes in watchdog
2020-12-23 20:00:36 +01:00
Marc Huisinga
91a8700858
fix: < vs <= bug and add some minor temporary logging
2020-12-23 20:00:36 +01:00
Marc Huisinga
1698c44d2c
fix: some silly errors
2020-12-23 20:00:36 +01:00
Marc Huisinga
21474b6d06
feat: dedicated tasks for forwarding
2020-12-23 20:00:36 +01:00
Marc Huisinga
d433fe58af
fix: broken pending request filtering in file worker and broken monad instance
2020-12-23 20:00:36 +01:00
Marc Huisinga
e420d101f9
feat: request cancellation
2020-12-23 20:00:36 +01:00
Marc Huisinga
2dfbf81218
feat: shutting down all tasks on termination and file worker termination
2020-12-23 20:00:36 +01:00
Marc Huisinga
ef878bc526
feat: error pending requests in watchdog on termination or crash
2020-12-23 20:00:36 +01:00
Marc Huisinga
c83499a54e
feat: add pending requests tracking
2020-12-23 20:00:36 +01:00
Marc Huisinga
1f91f1e194
feat: implement more of the crash-restart behavior
2020-12-23 20:00:36 +01:00
Marc Huisinga
07d5722b67
feat: add explicit process termination procedure, ensure crash handling on writes and accumulate changes of single didChange packet
2020-12-23 20:00:36 +01:00
Marc Huisinga
a8b105e1e9
fix: do not clear diagnostics on empty change packet and add note explaining assumptions about diagnostics
2020-12-23 20:00:36 +01:00
Marc Huisinga
58b66063ee
feat: accumulate text changes from same packet in file worker to dispatch their elaboration at once
2020-12-23 20:00:36 +01:00
Marc Huisinga
324235c9fb
chore: adjust field naming of WorkerEvent
2020-12-23 20:00:36 +01:00
Marc Huisinga
088c3347cd
feat: adjust file worker for new IO features
2020-12-23 20:00:36 +01:00
Marc Huisinga
6f60e3588f
feat: file worker termination on header change or file closing
2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
58a04a5478
feat: waitAny event loop in LSP watchdog
2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
bb8f438560
chore: adapt to upstream
2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
cf3d6e8f5e
feat: use MonadIO in LSP communication
2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
c3b333b9e7
doc: further comments on server architecture
2020-12-23 20:00:36 +01:00
mhuisi
8decfb6b1d
feat: initial multiprocess watchdog arch
2020-12-23 20:00:36 +01:00
Leonardo de Moura
ef51087138
feat: do not log error messages with synthetic sorry's
...
Before this commit, only error messages caught at `elabTerm` were
filtered.
cc @Kha
2020-12-23 10:52:27 -08:00
Leonardo de Moura
edb51b8977
test: implicit lambdas in action
2020-12-23 10:24:00 -08:00
Leonardo de Moura
caa3136558
fix: doc
2020-12-23 09:41:42 -08:00
Leonardo de Moura
74686a149a
test: add structure field default value test
2020-12-23 08:35:27 -08:00
Leonardo de Moura
f53721e1c9
chore: adapt code to previous change
2020-12-23 08:31:20 -08:00
Leonardo de Moura
c01e58b3e4
chore: update stage0
2020-12-23 08:26:09 -08:00
Leonardo de Moura
e74ba14f4c
feat: modify structSimpleBinder parser
...
@Kha It felt odd that we can write
```
map f x := ...
```
in instances, but we had to write
```
map (f x) := ...
```
when setting the field default value in a class.
2020-12-23 08:23:14 -08:00
Leonardo de Moura
7720b843bb
feat: allow users to use binders when setting default value for parent fields
2020-12-23 08:12:29 -08:00
Leonardo de Moura
7e76446d9d
fix: error message
2020-12-23 07:35:12 -08:00
Leonardo de Moura
9c47cfe001
fix: panic message
2020-12-23 07:24:46 -08:00
Leonardo de Moura
78aa3d8e72
chore: use deriving BEq
2020-12-22 18:10:20 -08:00
Leonardo de Moura
df03130927
feat: improve error message
2020-12-22 17:50:26 -08:00
Leonardo de Moura
8c2cb44ac0
fix: error message produced by lean_mk_projections
2020-12-22 17:40:32 -08:00
Leonardo de Moura
800b4af15d
test: indentation
2020-12-22 14:53:03 -08:00
Leonardo de Moura
839017fdae
feat: add macro tactical solve
2020-12-22 14:36:20 -08:00
Leonardo de Moura
9a1116d918
chore: remove <or>, first subsumes it
2020-12-22 14:10:08 -08:00
Leonardo de Moura
73e6ad86d2
chore: update stage0
2020-12-22 14:10:08 -08:00
Leonardo de Moura
832c7412d6
feat: add first tactical
...
@Kha It has a few advantages over `<or>` (`<|>`).
- It is not an infix operator.
- It takes tactic sequences instead of tactics as arguments
For example, we can write
```
first
| apply h1; assumption
| exact y; exact h3; assumption
```
or
```
first apply h1; assumption | exact y; exact h3; assumption
```
instead of
```
(apply h1; assumption) <|> (exact y; exact h3; assumption)
```
2020-12-22 14:10:07 -08:00
Leonardo de Moura
56e2ff81b8
chore: ensure all term parsers have precedence >= min
2020-12-22 14:10:07 -08:00
Leonardo de Moura
69d83ecb86
chore: make sure term and tactic parsers have disjoint infix operators
2020-12-22 14:10:07 -08:00
Leonardo de Moura
7b813622c6
chore: increase precedence of |>, <|, $ parsers
...
@Kha Now, all parsers defined by `Init/Std/Lean` packages have
precedence >= `min` and <= `max`.
The only exception is `<|>` since it is an infix operator sharead with
the tactic DSL.
BTW, the meaning of `f $ a <|> b` changed with this commit.
It was `f (a <|> b)`, and now is `(f a) <|> b`. The problem is that
the precedence of the `$` parser is now greater than the `<|>` parser.
I will try another experiment where I make sure we do not "reuse"
term infix operators in the tactic DSL.
2020-12-22 14:10:07 -08:00