ghciwatch

Crates.ioghciwatch
lib.rsghciwatch
version1.0.1
sourcesrc
created_at2023-10-05 20:21:39.142772
updated_at2024-07-24 16:15:51.758695
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
size510,794
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:

Developing ghciwatch

See CONTRIBUTING.md for information on hacking ghciwatch.

Commit count: 179

cargo fmt