Commit Graph

113 Commits

Author SHA1 Message Date
Casey Rodarmor
20790a0cc7
Release v0.5.2 (#557)
- Bump version: v0.5.1 -> v0.5.2
- Update changelog
- Update dependencies
2019-12-07 04:59:58 -08:00
Casey Rodarmor
d2decbfdb8
Resolve functions (#550)
Modifies parsing to return strongly-typed `Thunk`s, which contain both
the function implementation, as well as the correct number of arguments.

This moves unknown function and function argument count mismatch errors
to parse time.
2019-11-21 12:14:10 -06:00
Casey Rodarmor
e5232fda89
Release v0.5.1 (#544)
- Bump version: v0.5.0 -> v0.5.1
- Update changelog
2019-11-20 02:08:58 -06:00
Casey Rodarmor
c40d16f2a2
Release: v0.5.0 (#530)
- Bump version: v0.4.5 -> v0.5.0
- Update dependencies
- Update changelog
- Appease linter
- Appease clippy
2019-11-12 14:11:53 -08:00
Casey Rodarmor
aefdcea7d0
Gargantuan refactor (#522)
- Instead of changing the current directory with `env::set_current_dir`
  to be implicitly inherited by subprocesses, we now use
  `Command::current_dir` to set it explicitly. This feels much better,
  since we aren't dependent on the implicit state of the process's
  current directory.

- Subcommand execution is much improved.

- Added a ton of tests for config parsing, config execution, working
  dir, and search dir.

- Error messages are improved. Many more will be colored.

- The Config is now onwed, instead of borrowing from the arguments and
  the `clap::ArgMatches` object. This is a huge ergonomic improvement,
  especially in tests, and I don't think anyone will notice.

- `--edit` now uses `$VISUAL`, `$EDITOR`, or `vim`, in that order,
  matching git, which I think is what most people will expect.

- Added a cute `tmptree!{}` macro, for creating temporary directories
  populated with directories and files for tests.

- Admitted that grammer is LL(k) and I don't know what `k` is.
2019-11-09 21:43:20 -08:00
Casey Rodarmor
8e084a7042
Note need to publish with nightly cargo (#506)
Until github.com/rust-lang/cargo/pull/7333 makes it into stable rust,
we'll be forced to publish using nightly, due to our unpublished dev
dependency on `test-utilities`.
2019-10-31 20:10:18 -07:00
Casey Rodarmor
f3b8030070
Bump version: v0.4.4 -> v0.4.5 (#505) 2019-10-31 19:19:01 -07:00
Casey Rodarmor
c26c0e4ecc
Update dependencies (#501)
- dotenv: 0.13 -> 0.15 (picks up the new parser)
- ansi-term: 0.11 -> 0.12
- env_logger: 0.6 -> 0.7
2019-10-22 19:51:50 -07:00
Casey Rodarmor
49ab423592
Refactor lexer tests (#498)
- Refactor the lexer tests to be more readable, abandoning the
  previous string-based summary DSL in favor of a more obvious
  sequence of `TokenKinds` with optional lexemes. The new tests
  also test that token lexemes are correct.

- Move duplicated `unindent` function into a shared crate,
  `test-utilities`. This new versionless dev-dependency will
  prevent publishing to crates.io, at least until rust-lang/cargo/pull/7333
  makes it into stable. If we publish a new version before then,
  test-utilities will need to be published to crates.io, so we can depend
  on it by version.
2019-10-17 20:04:54 -07:00
SOFe
6acabb2562 Add repository attribute to Cargo.toml (#493) 2019-10-13 03:05:09 -07:00
Casey Rodarmor
1d063cce01
Hide summary functionality behind feature flag (#472)
Since summaries are only used by Janus, the Just ecosystem testing tool,
it makes sense to hide it behind a feature flag.
2019-09-21 19:19:56 -07:00
Casey Rodarmor
04a2b6461e
Generate man page with help2man (#463)
The generated man page doesn't look great by default, so this also adds the
help4help2man feature, which makes Just print a help message that produces
a better man page.
2019-07-18 21:58:06 -07:00
Casey Rodarmor
74e45e7c05
Remove dependency on brev (#462)
Just's dependency on brev was the cause of a
fairly deep branch of the transitive dependency
tree. To decrease build time and make the life of
packagers easier, this diff moves the functionality
that Just was using in Brev into Just itself, and
removes the dependency on Brev.

Fortunately, the only functionality that Just was
using was the output function and OutputError
enum, so this was easily done.
2019-07-13 01:55:06 -07:00
Casey Rodarmor
57ac89a7ac
Minimize dependency version requirements (#461)
In order to make the life of downstream packagers easier, we should take care that dependency version requirements in Cargo.toml are as minimal as possible, so that packagers have as much flexibility as possible in packaging Just and its dependencies.

This diff reduces dependency version requirements in Cargo.toml to the minimum possible, i.e. the minimum possible semver compatible version that builds and passes tests.

We continue to require patch versions of ctrlc and log, because I couldn't get just to build with minimal versions after removing their patch requirements.
2019-07-10 22:59:32 -07:00
Niklas Claesson
1958edfacb Bump clap dependency to 2.33.0 (#458) 2019-07-07 18:45:52 -07:00
Niklas Claesson
ff91e3d7c6 Use tempfile crate instead of tempdir (#455) 2019-07-06 20:55:46 -07:00
Casey Rodarmor
23443e2472
Bump version: v0.4.3 -> v0.4.4 (#449) 2019-06-02 13:38:16 -07:00
Casey Rodarmor
22e96447b4
Replace colored_diff with pretty_assertions (#440) 2019-05-15 14:38:36 -04:00
Casey Rodarmor
ea2afb627b
Bump version: v0.4.2 -> v0.4.3 (#431)
- Bump version from v0.4.2 to v0.4.3
- Update dependencies
- Make change log more readable
2019-05-07 19:37:40 -07:00
Casey Rodarmor
415c84ea39
Refactor and rename test macros (#415) 2019-04-19 02:17:43 -07:00
Casey Rodarmor
85336f09b0
Bump version: v0.4.1 -> v0.4.2 (#407) 2019-04-15 23:39:18 -07:00
Casey Rodarmor
596ea34460
Replace regex-based lexer with character-at-a-time lexer (#406) 2019-04-15 22:40:02 -07:00
Casey Rodarmor
e615ea0389
Bump version: v0.4.0 -> v0.4.1 (#405) 2019-04-15 14:45:40 -07:00
Casey Rodarmor
c3d1d9049f
Bump version: 0.3.13 -> 0.4.0 (#401) 2019-04-12 00:46:29 -07:00
Casey Rodarmor
12f9428695
Add justfile summaries (#399)
Exposes an interface for producing a summary that captures the important details of the parsed justfile.
2019-04-11 16:35:16 -07:00
Casey Rodarmor
3a287b864a
Housekeeping (#394)
- Upgrade to rust 2018
- Update dependencies
- Use BTree{Map,Set} instead of Map and Set
2019-04-11 15:23:14 -07:00
Casey Rodarmor
849cdcb37f
Bump version: 0.3.12 -> 0.3.13 (#371) 2018-11-06 00:41:33 -08:00
Geoff Shannon
6b0fc174d8 Fuzz test compiler (#362) 2018-10-13 19:12:35 +09:00
Casey Rodarmor
b14d1ec97c
Wait for child processes to finish (#345)
Thanks to @bheisler for the feature request and initial implementation.

Fixes #302
2018-08-27 16:03:52 -07:00
Casey Rodarmor
5acc112a97
Bump version: 0.3.11 -> 0.3.12 (#324) 2018-06-19 16:21:32 -04:00
Casey Rodarmor
ee7302c0e3
Bump version: 0.3.10 -> 0.3.11 (#318) 2018-05-06 22:20:48 -04:00
Casey Rodarmor
2f8e89228a
Bump dependencies (#316) 2018-05-06 22:15:15 -04:00
Casey Rodarmor
ef45b02cc3
Version bump + update deps: 0.3.9 -> 0.3.10 (#311) 2018-03-20 01:25:32 -07:00
Casey Rodarmor
70e96d52eb
Bump version: 0.3.8 -> 0.3.9 (#308) 2018-03-05 13:28:30 -08:00
Casey Rodarmor
70234f6193
Add dotenv integration (#306) 2018-03-05 13:21:35 -08:00
Casey Rodarmor
0e42d1435b
Bump version to 0.3.8 and update dependencies (#304) 2018-02-16 01:24:38 -08:00
Casey Rodarmor
667f81d79d
Bump version: 0.3.6 -> 0.3.7 (#297) 2018-01-23 08:32:37 +01:00
Casey Rodarmor
337f8f882b
Bump version: 0.3.5 -> 0.3.6 (#293) 2018-01-05 11:11:10 +01:00
Casey Rodarmor
26098ba609
Bump version: 0.3.4 -> 0.3.5 (#286) 2017-12-11 21:44:45 +01:00
Casey Rodarmor
afa4aebd4a
Add functions (#277)
– Parse unary (no-argument) functions
– Add functions for detecting the current os, arch, and os family, according to rustc's cfg attributes
2017-12-02 14:37:10 +01:00
Casey Rodarmor
19a559c868
Misc fixes before publishing new version (#271) 2017-11-30 19:38:44 +01:00
Casey Rodarmor
88afe90630
Bump version: 0.3.3 -> 0.3.4 (#269) 2017-11-30 18:13:13 +01:00
Casey Rodarmor
a88d785afe
Change license to CC0 (#270) 2017-11-30 18:05:21 +01:00
Igor Gnatenko
ce65a1582b Bump dependencies (#265) 2017-11-30 17:46:57 +01:00
Casey Rodarmor
afe2c0f94e
Refactor more tests into macro invocations (#259) 2017-11-18 01:44:59 -08:00
Casey Rodarmor
13a124d659
Refactor some other stuff (#252) 2017-11-17 17:28:06 -08:00
Casey Rodarmor
2b6b715528
Refactor Everything (#250) 2017-11-16 23:30:08 -08:00
Casey Rodarmor
0030878ad7 Create a short markdown readme for crates.io 2017-10-14 23:21:46 -07:00
Casey Rodarmor
7874e22d47 Bump version to 0.3.2 2017-10-14 23:21:46 -07:00
Casey Rodarmor
7f3f13bd4b Add readme to Cargo.toml (#234) 2017-10-13 21:30:03 -07:00