ghciwatch

Crates.ioghciwatch
lib.rsghciwatch
version1.1.5
created_at2023-10-05 20:21:39.142772+00
updated_at2025-03-12 22:46:57.487188+00
descriptionGhciwatch loads a GHCi session for a Haskell project and reloads it when source files change.
homepagehttps://github.com/MercuryTechnologies/ghciwatch
repositoryhttps://github.com/MercuryTechnologies/ghciwatch
max_upload_size
id994500
size526,806
Rebecca Turner (9999years)

documentation

README

ghciwatch

Packaging status
Packaging status
User manual

Ghciwatch loads a GHCi session for a Haskell project and reloads it when source files change.

Features

  • GHCi output is displayed to the user as soon as it's printed.
  • Ghciwatch can handle new modules, removed modules, or moved modules without a hitch
  • A variety of lifecycle hooks let you run Haskell code or shell commands on a variety of events.
  • Custom globs can be supplied to reload or restart the GHCi session when non-Haskell files (like templates or database schema definitions) change.
  • Ghciwatch can clear the screen between reloads.
  • Compilation errors can be written to a file with --error-file, for compatibility with ghcid's --outputfile option.
  • Comments starting with -- $> can be evaluated in GHCi.
    • Eval comments have access to the top-level bindings of the module they're defined in, including unexported bindings.
    • Multi-line eval comments are supported with {- $> ... <$ -}.

Demo

Check out a quick demo to see how ghciwatch feels in practice:

Learn More

Read the manual here.

Developing ghciwatch

See CONTRIBUTING.md for information on hacking ghciwatch.

Commit count: 203

cargo fmt