Commit Graph

115 Commits

Author SHA1 Message Date
Chester Liu
d6732aea10 Merge branch 'master' into chesterliu/dev/win-support 2022-05-06 13:22:24 +08:00
Bastien Orivel
af208285e8 Update term_grid to 0.2 2021-12-10 13:21:13 +01:00
Chester Liu
99d653b7fa Merge branch 'master' into chesterliu/dev/win-support 2021-10-29 15:50:54 +08:00
ariasuni
75f14d23a3 Update Cargo.toml to make cargo-deb work again 2021-09-17 20:58:49 +02:00
Chester Liu
23a1c8a41f Merge branch 'master' into chesterliu/dev/win-support 2021-05-15 22:03:21 +08:00
ariasuni
a85c72e2a0 Replace unmaintained crate term_size by terminal_size 2021-04-27 00:16:25 +02:00
Chester Liu
8f0e4ccfdd Merge branch 'master' into chesterliu/dev/win-support 2021-04-13 11:27:49 +08:00
Benjamin Sago
293372a613 v0.10.1 2021-04-12 22:28:31 +01:00
skyline75489
0adc5c789b Merge branch 'master' into chesterliu/dev/win-support 2021-04-06 16:13:15 +08:00
Benjamin Sago
505808fd9f The road ahead 2021-04-04 23:03:53 +01:00
Benjamin Sago
03cd3a81ff v0.10.0 2021-04-03 17:42:56 +01:00
Benjamin Sago
aee9c0e623 Remove some unused Cargo.toml options 2021-04-03 17:41:54 +01:00
skyline75489
8ad46e2ee5 Merge branch 'master' into chesterliu/dev/win-support 2021-04-03 21:12:19 +08:00
Benjamin Sago
004589d079 Upgrade datetime to remove some dependencies 2021-04-01 16:58:01 +01:00
Benjamin Sago
83f245237b Faster debug builds by excluding debug symbols
This also cleans up the release profile in Cargo.toml, which was having its default settings overridden with identical default settings.
2021-04-01 10:30:21 +01:00
Chester Liu
5503e4756e Clean 2021-03-26 18:45:52 +08:00
Chester Liu
6a642d0f32 merge 2021-03-26 16:37:17 +08:00
Benjamin Sago
8046980806 Mass version upgrade
This upgrades the versions of everything, including upgrading almost all outdated dependencies.

• number_prefix had some backwards-incompatible changes. It now feels more Rustful, and spells "Mebi" correctly.
• term_grid stopped working when I upgraded it, worryingly, so I reverted it back.
2020-10-10 02:14:35 +01:00
Benjamin Sago
04e2d4c692 Just straight-up roll our own logger
This commit removes the env_logger dependency, replacing it with a simple implementation. Doing so removes like ten other transitive dependencies that no longer need to be included in the build.

It also gains the ability to enable trace-level logging. The users crate, which contains such logging statements as of the version I published a few days ago, has been upgraded to celebrate.

Also, change the log imports to globs. I'm only interested that a file doing logging, not what level it's logging at.
2020-10-10 02:01:12 +01:00
Benjamin Sago
5ca3548bb1 Inline the library into the binary
This commit removes the library portion of exa. Cargo now only builds a binary.

The original intent was for exa to have its own internal library, and have the binary just call the library. This is usually done for code cleanliness reasons: it separates the code that implements the purpose of the program (the "plumbing") from the code that the user interacts with (the "porcelain"), ensuring a well-defined interface between the two.

However, in exa, this split was in completely the wrong place. Logging was handled in the binary, but option parsing was handled in the library. The library could theoretically print to any Writer ("for testing", it said), but it's far easier to run integration tests by executing the binary than to change the code to handle unit tests, so this abstraction isn't gaining us anything.

I've also had several people ask me if exa should be packaged for Linux distributions as a library, or just a binary. Clearly, this is confusing!

In several of my other Rust projects, I've done this better, with the command-line option parsing and log printing done on the binary side. It also turns out that you don't need to have a [lib] section in the Cargo.toml, so that's gone too.
2020-10-10 01:43:42 +01:00
Benjamin Sago
0550faec05 Replace Makefile with a developmental Justfile
This commit deletes the Makefile, which contained targets to build exa and install it on the local machine, and replaces it with a Justfile, which only contains command to build and test exa.

My reasoning for doing this is as follows:

• exa is increasingly being installed through package managers, rather than built and tested locally, so users are avoiding using the Makefile at all.
• It was a pain to keep up with the correct paths for installing the binary, man pages, and completions, which can vary between OSes. By removing them, the code in this repository need only concern itself with building exa and putting its files in the 'target' directory, simplifying things.
• just is much simpler than make conceptually, which is why I prefer it. It just runs commands, rather than being a complete build system, which we already use Cargo for.
• just has features built-in, such as listing tasks, that we've had to create make targets for.
• exa only needed a Makefile at all because it pre-dates Cargo!
• Other Rust projects seem to be getting along perfectly fine without one.

If I've missed some important reason that makes it worth keeping the Makefile around then please let me know.
2020-10-10 00:57:04 +01:00
Igor Raits
80875aac8f
chore: Update users to 0.10
Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>
2020-05-22 08:44:04 +02:00
Igor Raits
da1ac5139b
chore: Update zoneinfo_compiled, datetime to 0.5
Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>
2020-05-17 09:40:54 +02:00
Kat Marchán
7f717c3af3 checkpoint 2020-05-02 19:00:06 -07:00
Benjamin Sago
8ccff86940
Merge pull request #450 from Bond-009/2018
Update to Rust 2018
2020-01-18 23:23:43 +00:00
Benjamin Sago
5683b5796e
Merge branch 'master' into cargo-deb-spec 2020-01-18 22:41:53 +00:00
Bond_009
f599c7ce93 Update to Rust 2018 2019-07-19 20:40:21 +02:00
Benjamin Sago
479fdea02c v0.9.0 2019-07-15 04:07:45 +01:00
Benjamin Sago
f7a985bf43 Merge branch 'vendored-openssl' of https://github.com/cecton/exa into cecton-vendored-openssl
# Conflicts:
#	Cargo.lock
#	Cargo.toml
2019-07-14 11:55:30 +01:00
Benjamin Sago
19a2eb168a git2-rs v0.9.1
Most importantly, binaries produced from this version don’t link to http-parser (or at least they didn’t when I tried it), so the Vagrantfile doesn’t need to configure the custom version of it.
2019-07-14 11:42:58 +01:00
Benjamin Sago
c7b4674de2 ansi-term v0.12.0 2019-07-14 11:39:41 +01:00
Benjamin Sago
9f76f94f88 Bump zoneinfo_compiled to v0.4.8
Fixes #517. The commit in zoneinfo-compiled fixes a bug where missing flags in the tzinfo file were making it crash instead of being treated as 0 values.
2019-07-14 10:08:41 +01:00
Bernardo Meurer
781d79e665
Updated dependencies 2019-04-16 22:53:42 -07:00
Laurent Arnoud
f2d1c28417
Update env logger to 0.6 (no change needed) 2019-01-17 18:31:32 +01:00
Cecile Tonglet
dd015057d5 Upgrade git2 and added flag vendored-openssl 2019-01-06 12:44:49 +01:00
Benjamin Sago
058b4a57bd Bump users crate version
And remove an unnecessary allocation while we’re at it. Fixes #442
2018-12-07 00:59:05 +00:00
Igor Gnatenko
e2d21ab9c1
Exclude unneded files from crates.io 2018-11-14 14:27:05 +01:00
golem131
2f3b62b9b5 users library dependency update 0.6 -> 0.7 2018-06-07 12:41:09 +03:00
Laurent Arnoud
eff7122bb2
Update log to 0.4 and env_logger to 0.5
No change needed for ansi_term to 0.11
2018-05-03 19:40:04 +02:00
Benjamin Sago
f757300718 Upgrade libgit2
The ogham/git2-rs repository that exa uses in the Vagrant VM has also been updated. The only casualty was that some constants got namespaced.
2018-03-11 11:25:06 +00:00
Benjamin Sago
78e483551c
Merge pull request #322 from ogham/exa/lazy_static-v1
bump lazy_static to 1
2018-03-11 09:40:37 +00:00
Benjamin Sago
8147c04a92
Merge branch 'master' into users 2018-03-11 09:38:17 +00:00
Igor Gnatenko
318fc44bf0 bump lazy_static to 1
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-11-30 23:37:56 +01:00
Igor Gnatenko
c9dc4720ec bump users to 0.6
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-11-27 13:21:37 +01:00
Igor Gnatenko
4013562525 bump env_logger to 0.4
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-11-21 07:32:03 +01:00
Benjamin Sago
433f031161 Upgrade datetime to remove crates and fix build
The datetime crate used to bring in a lot more crates as dependencies (datetime#ce7d12adc5f65519c8290f1bce2eb77fca44f460), but now does not. The version increase also fixes #301.
2017-10-08 21:38:08 +01:00
Benjamin Sago
c7497f3778 Display more information for non-release releases 2017-10-08 20:09:46 +01:00
Benjamin Sago
4c3fd5483d Upgrade ansi_term
(and remove getopts). I had to fix something in ansi_term (ansi_term#090e0a383d73a43e2f80a7b466e8feeee97c4c76) to get it to build!
2017-10-02 12:16:25 +02:00
Benjamin Sago
877265bf4e Version bump and release 2017-09-30 09:49:36 +02:00
Benjamin Sago
1efb8a5113 Use crates.io zoneinfo_compiled
Fixes #189, for #132.
2017-09-30 09:48:04 +02:00