Expand description
Accessing Agda’s interaction mode via command line. This library is created for agda-tac. It works with stable rust starting from 1.39.0.
This crate will work only with master-branch Agda until Agda 2.6.1 is released. Tracking issues for the feature are agda#4183 and agda#4209, both work for JSON now.
§Basic usage
Invoke ReplState::start
and await the REPL to be available.
That’s the wrapper of the Agda REPL’s state.
Then you may:
- Invoke
ReplState::reload_file
to reload the current file - Invoke
ReplState::command
to send a command to Agda - Invoke
ReplState::response
to await for the next response from Agda.- Note that Agda sends json to
agda-mode
. The deserialized json type isResp
.
- Note that Agda sends json to
There are more utilities to access Agda, checkout the library documentation to see all of them.
§Implementation notes
This crate deserialize json via serde_json
,
and do async process io handling via tokio
.
Modules§
- Invoke Agda in command line and interact with it via stdio.
- Common types (used in both input/output to Agda).
- Agda commands (input to Agda).
- Debugging utilities.
- Haskell interaction utilities.
- Position types, used in both
resp
&cmd
. - Response data types (output of Agda).