diff --git a/flake.nix b/flake.nix index 684b76a0eac8ecfd3f3fd921413fa71914d96167..84bbd521c3464818667c10845c37a785fcdb48ea 100644 --- a/flake.nix +++ b/flake.nix @@ -31,6 +31,7 @@ packages = [ pkgs.cabal-install pkgs.ghcid + pkgs.entr pkgs.haskell-language-server ]; } diff --git a/ghcid b/ghcid index c5972281148d0500b9688f62104c48bcb97c1186..c2404652d438a37e03d74ece3703af3e7e906c56 100755 --- a/ghcid +++ b/ghcid @@ -1,4 +1,4 @@ -#!/usr/bin/env zsh +#!/usr/bin/env -S nix shell . -c zsh print -P %F{yellow}Cleaning repository%f nix develop -c cabal clean diff --git a/ghcid-warnings b/ghcid-warnings new file mode 100755 index 0000000000000000000000000000000000000000..c730cf01f32d490c84eb809b21a2af808f89cdd3 --- /dev/null +++ b/ghcid-warnings @@ -0,0 +1,15 @@ +#!/usr/bin/env -S nix shell . -c zsh + +print -P %F{yellow}Cleaning repository%f +nix develop -c cabal clean + +(git ls-files test; git ls-files '*.cabal'; git ls-files 'flake.*') | \ + entr -r \ + nix develop -c \ + ghcid \ + "--command=cabal repl lib:quasar" \ + "--test=:! \ + cabal test --disable-optimisation --enable-debug-info=2 --test-show-details=direct --ghc-option -fdiagnostics-color=always && \ + cabal build --disable-optimisation --enable-debug-info=2 --ghc-option -fdiagnostics-color=always && \ + zsh -c 'print -P %F{green}Build and tests passed%f' \ + "