Crate ghciwatch

Crate ghciwatch 

Source
Expand description

ghciwatch is a ghci-based file watcher and recompiler for Haskell projects, leveraging Haskell’s interpreted mode for faster reloads.

ghciwatch watches your modules for changes and reloads them in a ghci session, displaying any errors.

Note that the ghciwatch Rust library is a convenience and shouldn’t be depended on. I do not consider this to be a public/stable API and will make breaking changes here in minor version bumps. If you’d like a stable ghciwatch Rust API for some reason, let me know and we can maybe work something out.

Modules§

clap_markdown
Autogenerate Markdown documentation for clap command-line tools
cli
Command-line argument parser and argument access.

Structs§

Ghci
A ghci session.
GhciOpts
Options for constructing a Ghci. This is like a lower-effort builder interface, mostly provided because Rust tragically lacks named arguments.
GhciWriter
A dynamically reconfigurable sink for ghci process output. Built for use in GhciOpts, but usable as a general purpose clonable AsyncWriter.
ShutdownError
A shutdown was requested.
ShutdownHandle
A handle to the shutdown system.
ShutdownManager
A manager for shutting down the program gracefully.
TracingOpts
Options for initializing the tracing logging framework. This is like a lower-effort builder interface, mostly provided because Rust tragically lacks named arguments.
WatcherOpts
Options for run_watcher. This is like a lower-effort builder interface, mostly provided because Rust tragically lacks named arguments.

Functions§

run_ghci
Start the Ghci subsystem.
run_tui
Start the terminal event loop, reading output from the given readers.
run_watcher
A notify watcher which waits for file changes and sends reload events to the contained ghci session.