Awesome
psc-pane
Auto reloading compiler for PureScript inspired by ghcid.
psc-pane
helps you get quick feedback on your PureScript code by watching
your source files for changes. It will
- try to first compile the file that changed with psc-ide and show the first error if any. If there are no errors it will
- run a full build using
psc
and show the first error if any. If there are no errors it will then - (optionally) run your test suite.
psc-pane
is designed to be run in a terminal multiplexer like tmux side-by-side
with your editor, or in a normal terminal window. You can resize the terminal
window and the output is reformatted on the fly to fit the new height of the
window.
Installation
npm install psc-pane -g
Usage
If you have a pulp-style project directory
structure you can run psc-pane
with no arguments
psc-pane
This will compile your project with psc
and then start listening for changes
to files in src/
. It will start a psc-ide-server
for you in some port
between 4242-4245 and compile any file you save with psc-ide. If you change a
.js file then psc
is used to compile the whole project.
By default psc-pane
assumes you have installed your dependencies with bower
and uses bower_components
as the dependency path. You can specify a different
directory with --dependency-path
.
psc-pane --dependency-path lib
You can change the source directory (src
by default) with --src-path
.
psc-pane --src-path sources
For the full list of options see --help
.
Single-module mode
By default psc-pane
does a full rebuild of your project after psc-ide
compiles the most recently changed file successfully. You can turn this off and
only rebuild one module at a time with psc-ide using --norebuild
(-m
).
Running tests
psc-pane
won't run any tests unless you use the -t
(--test
) flag. When
-t
is given the tests will be run after every successful rebuild. The default
location of test source files is test
, you can change it with --test-path
.
This path is watched for changes in addition to the src path (--src-path
)
when -t
is given.
By default the test suite is run by calling the main
function from the module
Test.Main
. You can change the module name with --test-main
. If the test
suite exits with a non-zero exit code the output from stderr (or stdout if
empty) will be displayed.
Turning off colors
You can turn off colors with --nocolor
.