ghcid_ng/
lib.rs

1//! `ghcid-ng` is a `ghci`-based file watcher and recompiler for Haskell projects, leveraging
2//! Haskell's interpreted mode for faster reloads.
3//!
4//! `ghcid-ng` watches your modules for changes and reloads them in a `ghci` session, displaying
5//! any errors.
6//!
7//! Note that the `ghcid-ng` Rust library is a convenience and shouldn't be depended on. I do not
8//! consider this to be a public/stable API and will make breaking changes here in minor version
9//! bumps. If you'd like a stable `ghcid-ng` Rust API for some reason, let me know and we can maybe
10//! work something out.
11
12#![deny(missing_docs)]
13#![deny(rustdoc::broken_intra_doc_links)]
14
15mod aho_corasick;
16mod buffers;
17mod clap;
18pub mod cli;
19mod clonable_command;
20mod command_ext;
21mod event_filter;
22mod format_bulleted_list;
23mod ghci;
24mod haskell_show;
25mod haskell_source_file;
26mod incremental_reader;
27mod normal_path;
28mod sync_sentinel;
29mod textwrap;
30mod tracing;
31mod watcher;
32
33pub(crate) use format_bulleted_list::format_bulleted_list;
34
35pub use ghci::Ghci;
36pub use ghci::GhciOpts;
37pub use tracing::TracingOpts;
38pub use watcher::Watcher;
39pub use watcher::WatcherOpts;
40
41#[cfg(test)]
42mod fake_reader;
43
44pub(crate) use command_ext::CommandExt;