Commit graph

46 commits

Author SHA1 Message Date
Wojciech Nawrocki
f2197e8c87
fix: clear pending server requests and read client messages asynchronously 2020-12-25 17:02:24 -05:00
Sebastian Ullrich
2740a8c012 chore: adapt server to upstream 2020-12-23 20:00:36 +01:00
Sebastian Ullrich
be8abe9f86 feat: Nix: support LSP 2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
93f32ae173 chore: misc changes to server 2020-12-23 20:00:36 +01:00
mhuisi
883c197830 chore: string formatting 2020-12-23 20:00:36 +01:00
mhuisi
f656439f59 fix: wrong diagnostic order 2020-12-23 20:00:36 +01:00
mhuisi
377c3dc6fe feat: add WatchdogM wrapper for testing, collectDiagnostics and remove waitForRequests again after reconsideration 2020-12-23 20:00:36 +01:00
mhuisi
23371c5f82 feat: waitForDiagnostics & waitForResponses requests 2020-12-23 20:00:36 +01:00
mhuisi
563d4f3adc chore: complete rebase and add deriving commands 2020-12-23 20:00:36 +01:00
mhuisi
9306b9330e chore: refactor FileWorker 2020-12-23 20:00:36 +01:00
Marc Huisinga
0dca44da30 chore: ever so slightly improve watchdog doc 2020-12-23 20:00:36 +01:00
Marc Huisinga
8658577731 chore: refactor Watchdog 2020-12-23 20:00:36 +01:00
Marc Huisinga
6248e6329e chore: refactor jsonrpc and lsp handle functions and deal with fallout 2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
5426c44e49 feat: launch server from main Lean shell 2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
c9f88ff89e fix: compare ASTs in the server
Hopefully this can handle all edge cases.
2020-12-23 20:00:36 +01:00
Marc Huisinga
614e981c19 chore: refactor with new where syntax and auto-quantification 2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
8b632dad73 fix: server worker fills stderr pipe 2020-12-23 20:00:36 +01:00
Marc Huisinga
8c4becbdd3 chore: superficial refactoring 2020-12-23 20:00:36 +01:00
Marc Huisinga
c4d3f99969 chore: use MonadLift and autolifting 2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
e0d2af1805 chore: move to new frontend 2020-12-23 20:00:36 +01:00
Wojciech Nawrocki
6ca91ff83c feat: Task-based asynchronous lists 2020-12-23 20:00:36 +01:00
Marc Huisinga
382d0474c4 chore: remove dead code and fix some minor styling details 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
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
324235c9fb chore: adjust field naming of WorkerEvent 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