Commit Graph

119 Commits

Author SHA1 Message Date
Mélanie Chauvel 17893b5f57 Upgrade Rust version to fix CI 2023-08-03 18:34:16 +02:00
Victor Song 89bcc00e32 Upgrade to latest stable Rust and edition 2021 2023-02-24 18:29:37 -05:00
Mélanie Chauvel f3ca1fe6f7
Merge pull request #820 from skyline75489/chesterliu/dev/win-support
Initial support for Windows
2023-02-20 14:19:47 +01:00
Mélanie Chauvel 8c2956a8fd Add rust-version in Cargo.toml 2022-05-08 03:13:03 +02:00
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