-
Notifications
You must be signed in to change notification settings - Fork 38
Open
Description
Microsoft considers REPL out of scope for LSP, but that doesn't mean we can't implement it anyways. This leaves us a few options:
- Don't implement REPL in idris-lsp. Editor plugins could spawn a REPL in a terminal. This would require two Idris processes.
- Implement REPL in a completely custom way in idris2-lsp. This would require custom code for each editor.
- Use CodeLens like Haskell Language Server.
- This requires explicit click to run
- Use something like
#eval
in Lean- Would be
%eval
in Idris - This runs automatically
- Display result in info diagnostics? inlay hints? inline values? something else?
- Would be
- For
:exec
, a code lens to click to run in a terminal - Use Jupyter.
- Use Debug Adapter Protocol.
- DAP is not very popular and not that suited to Idris's needs.
Questions:
- Are there any better ways to tackles the issue than what I mentioned above?
- Would REPL state be cleared when changing focus between files?
- Would each file have its own REPL state?
- Would every file change reset the REPL?