Casey Rodarmor
ac7634000e
Fix error messages with wide character
...
Input may contain tabs and other characters whose byte widths do not
correspond to their display widths. This causes error context
underlining to be off when lines contain those characters
Fixed by properly accounting for the display width of characters, as
well as replacing tabs with spaces when printing error messages.
2016-11-11 17:32:35 -08:00
Casey Rodarmor
4d20ffeac4
Use colors in output
...
This is a pretty gross commit, since it also includes a lot of
unrelated refactoring, especially of how error messages are printed.
Also adds a lint recipe that prints lines over 100 characters
To test, I added a `--color=[auto|always|never]` option that defaults to
auto in normal use, but can be forced to `always` for testing. In `auto`
mode it defers to `atty` to figure out if the current stream is a
terminal and uses color if so.
Color printing is controlled by the `alternate` formatting flag.
When printing an error message, using `{:#}` will print it with colors
and `{}` will print it normally.
2016-11-11 17:32:35 -08:00
Casey Rodarmor
6b888bbfe4
Fix off by one error in backtick error message ( #52 )
...
I was using the width of the index of the line, not the displayed line
number, which is the index + 1, which could cause the error message to
be misaligned.
Fixed it, and added a test that checks for this.
2016-11-11 17:15:16 -08:00
Casey Rodarmor
74fa6d4962
Include line in all error messages ( #51 )
...
I had previously not included the line for some error messages, but I
don't think that I had a good reason why, and they look pretty good,
so adding them back for consistency.
2016-11-11 17:09:51 -08:00
Casey Rodarmor
2bc55ba815
Improve a few error messages ( #47 )
...
Surround variables with backticks, capitalize first letter of error
message, inflect properly depending on number of unknown overrides, and
improve wording.
Also added build dependency to `filter` recipe.
2016-11-11 14:33:17 -08:00
Casey Rodarmor
e3aa13e5dd
Add integration tests for arguments ( #42 )
...
There were unit tests, but it seems like a good idea to test this end to end.
2016-11-11 13:34:28 -08:00
Casey Rodarmor
c775828d3c
Use version from env! macro ( #37 )
...
This saves us from having to manually keep the version string in app.rs
up to date, so we can also drop that check from the publish recipe.
Fixes #36
2016-11-10 23:09:02 -08:00
Casey Rodarmor
2b55ae35bb
Use colored help message ( #32 )
...
💙 💜 💚 ❤️ 💛
2016-11-07 21:05:07 -08:00
Casey Rodarmor
39a78c968f
Bump version to 0.2.16 ( #21 )
2016-11-05 01:54:44 -07:00
Casey Rodarmor
9a742e6336
Allow justfile to be named Justfile
( #19 )
...
Priority is given to `justfile` to match the behavior of GNU make.
2016-11-05 01:25:36 -07:00
Casey Rodarmor
adef254b23
Avoid bashisms in tests ( #18 )
...
Since `sh` might be different depending on the system, avoid testing
status codes and error messages that are not the same across all `sh`s
2016-11-05 01:19:54 -07:00
Casey Rodarmor
e4d35a8270
Add --quiet/-q flag to supress all output ( #17 )
...
This is for avoiding writing to stderr during tests,
although it's a nice option so it feels worth exposing
to users.
2016-11-05 01:01:43 -07:00
Casey Rodarmor
599cc80f86
Move all run options into a struct ( #16 )
...
In preparation for adding a --quiet flag, since the number of parameters
to run is getting a bit silly.
2016-11-05 00:31:38 -07:00
Casey Rodarmor
dd16fe316b
Bump version to v0.2.15
2016-11-02 22:06:52 -07:00
Casey Rodarmor
9f2568c461
Fix tab-indented lines in shebang recipes
...
Fixed a precedence bug in the recipe parser where tab-indented
lines in a shebang recipe would trigger an ExtraLeadingWhitespace
error.
2016-11-02 22:02:29 -07:00
Casey Rodarmor
f9abb72887
New publish recipe, bump version to 0.2.14 to test.
2016-11-02 00:19:07 -07:00
Casey Rodarmor
3fb4fc8074
Bump version
2016-10-31 23:04:58 -07:00
Casey Rodarmor
cef8b4fbdf
Updated readme
2016-10-31 21:53:31 -07:00
Casey Rodarmor
7f6a74af24
Rename arguments to parameters.
2016-10-31 19:11:27 -07:00
Casey Rodarmor
e354ca0a8e
Bump version update description
2016-10-30 22:52:03 -07:00
Casey Rodarmor
7171ddbca2
Notes, make sure indent in recipes is ignored
2016-10-30 19:37:22 -07:00
Casey Rodarmor
9e9b525369
Bump version to 0.2.11 and rename back to just
2016-10-30 18:12:59 -07:00
Casey Rodarmor
0b182002a4
Notes, bump version
2016-10-30 17:09:33 -07:00
Casey Rodarmor
1290c5a8bd
Added raw '' strings
2016-10-30 16:56:22 -07:00
Casey Rodarmor
843662c285
Notes + bump version
2016-10-30 16:40:45 -07:00
Casey Rodarmor
2568e949b5
Cleaned up export parsing
2016-10-30 16:34:39 -07:00
Casey Rodarmor
69f8e07a30
export variables done
2016-10-30 16:15:18 -07:00
Casey Rodarmor
f925520101
Use BTreeMap and BTreeSet as Map and Set
2016-10-30 14:37:03 -07:00
Casey Rodarmor
3b9ff6fd52
Clippy lints
2016-10-30 13:17:08 -07:00
Casey Rodarmor
cc683cbb04
Bump version, add --debug
2016-10-30 13:14:39 -07:00
Casey Rodarmor
9a368fb351
variable=value overrides done
2016-10-30 03:08:28 -07:00
Casey Rodarmor
25c6432fa3
Backtick tests done!
2016-10-30 01:27:05 -07:00
Casey Rodarmor
9118d39903
Remove unnecessary return
2016-10-30 00:25:04 -07:00
Casey Rodarmor
2bc7485801
Bump version to 0.2.7
2016-10-30 00:24:16 -07:00
Casey Rodarmor
980c5d0b33
Backticks implemented. Error messages still suck though.
2016-10-30 00:20:29 -07:00
Casey Rodarmor
8b149b66fc
Panic commit.
2016-10-29 23:39:12 -07:00
Casey Rodarmor
3d3c4394c2
Ready to actually implement backtick evaluation
2016-10-29 22:56:47 -07:00
Casey Rodarmor
70e9d4e653
Refactoring. Checkpoint commit.
2016-10-29 21:51:39 -07:00
Casey Rodarmor
810365f22b
Add assignment resolving
2016-10-29 20:39:21 -07:00
Casey Rodarmor
70d1df5b9c
Working on backticks. They are evaluated as strings for now.
2016-10-29 01:58:30 -07:00
Casey Rodarmor
b57b84e550
Arguments done!
2016-10-29 00:55:47 -07:00
Casey Rodarmor
ac5433248e
Arguments working but still ugly
2016-10-29 00:14:41 -07:00
Casey Rodarmor
011876baff
Bump version to 0.2.6, build before publishing
2016-10-28 20:45:05 -07:00
Casey Rodarmor
b46cfd97ba
Bump version to 0.2.5
2016-10-28 20:42:53 -07:00
Casey Rodarmor
58fb70e16e
Surround tokens with `` in errors
2016-10-28 20:40:16 -07:00
Casey Rodarmor
0f29b4fc2a
Pretty errors with underlined tokens!
2016-10-28 20:34:25 -07:00
Casey Rodarmor
a55adafa60
Notes
2016-10-28 19:56:33 -07:00
Casey Rodarmor
383754d2fb
More tests
2016-10-28 19:38:32 -07:00
Casey Rodarmor
3c80f7f7ae
Add '--debug' flag to print justfile with evaluated expressions and
...
variables
2016-10-28 16:41:46 -07:00
Casey Rodarmor
01df3d5e4a
Add {:#} format printing to justfile for --show
2016-10-28 16:32:13 -07:00