- 05 8月, 2017 4 次提交
-
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
One of the previous tests started to fail, because it was working when it shouldn’t have! It worked up until now because I forgot to flag --level as taking an argument, and “--level 4” still worked with 4 as a filename. So there’s now an early check for that functionality that got lost somewhere.
-
由 Benjamin Sago 提交于
-
- 27 7月, 2017 8 次提交
-
-
由 Benjamin Sago 提交于
Apparently I forgot to give the --time flag an argument, and this wasn’t actually covered by any of the xtests! Well, it’s tested now. I’m not sure how to handle multiple --time arguments.
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
Fixes #193. --all was treated the same as --all --all; now it’s treated differently.
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
**
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
This commit removes the dependency on the ‘getopts’ crate entirely, and re-writes all its uses to use the new options parser instead. As expected there are casualties galore: - We now need to collect the options into a vector at the start, so we can use references to them, knowing they’ll be stored *somewhere*. - Because OsString isn’t Display, its Debug impl gets used instead. (This is hopefully temporary) - Options that take values (such as ‘sort’ or ‘time-style’) now parse those values with ‘to_string_lossy’. The ‘lossy’ part means “I’m at a loss for what to do here” - Error messages got a lot worse, but “--tree --all --all” is now a special case of error rather than just another Misfire::Useless. - Some tests had to be re-written to deal with the fact that the parser works with references. - ParseError loses its lifetime and owns its contents, to avoid having to attach <'a> to Misfire. - The parser now takes an iterator instead of a slice. - OsStrings can’t be ‘match’ patterns, so the code devolves to using long Eq chains instead. - Make a change to the xtest that assumed an input argument with invalid UTF-8 in was always an error to stderr, when that now in fact works! - Fix a bug in Vagrant where ‘exa’ and ‘rexa’ didn’t properly escape filenames with spaces in.
-
- 24 7月, 2017 1 次提交
-
-
由 Benjamin Sago 提交于
This commit moves the definitions of Filter and DirAction from the options module to the fs module, but leaves the parts that actually have to do with option parsing alone. Now, the options module shouldn’t define any types that get used elsewhere in the program: it only adds functionality to types that already exist.
-
- 23 7月, 2017 1 次提交
-
-
由 Benjamin Sago 提交于
Even though these can’t actually be viewed with `cargo doc` yet, they’re still good to have around.
-
- 13 7月, 2017 9 次提交
-
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
Casualty here was that you can’t have static values reference one another directly, so the static args slice had to be turned into a slice *of references* rather than of values. No big deal, just have to write & a few more times.
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
Every time looking up an argument fails, it returns an error. We might as well just move this into the lookup function.
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
-
- 12 7月, 2017 1 次提交
-
-
由 Benjamin Sago 提交于
All the tests pass, but only half the functionality is there right now.
-
- 10 7月, 2017 3 次提交
-
-
由 Benjamin Sago 提交于
This creates a new type that holds file extensions in preparation for #116. It doesn’t do anything yet, but it will!
-
由 Benjamin Sago 提交于
The FileExtensions in the FileName is now a reference to the one in the original FileStyle, which gets put there in the options module. This allows the extensions to be derived from the user, somehow, in the future when that part’s done.
-
由 Benjamin Sago 提交于
Instead of having a File do its own extension checking, create a new type that takes a file and checks *that*. This new type (FileExtensions) is currently empty, but were it to contain values, those values could be used to determine the file’s colour.
-
- 08 7月, 2017 2 次提交
-
-
由 Benjamin Sago 提交于
This commit replaces the “two normal cases” of showing a link’s target or not with “one default and one special case” of preferring to hide them, displaying the link targets by setting a flag instead. Doing this simplifies the file name constructor, which gets to remove an argument.
-
由 Benjamin Sago 提交于
The new FileStyles value will contain all the fields necessary to “style” a file’s name. Right now this is only the Classify field, but there can be more later. The benefit of this is that when we add more, we won’t need to update all the places where file names are displayed.
-
- 07 7月, 2017 2 次提交
-
-
由 Benjamin Sago 提交于
For #132. Users had to be updated for the version number.
-
由 Benjamin Sago 提交于
-
- 06 7月, 2017 9 次提交
-
-
由 Benjamin Sago 提交于
This merges in the ability to use different time styles, such as full ISO-formatted timestamps instead of just using the default variable style. Firstly, this moved the Environment from the Table to the Columns, so it 1) would only be instantiated when a table is actually used, and 2) can be affected by command-line options. Next, it renames Columns to table::Options, in line with what the view optionses were renamed to. Finally, it adds support for more time styles, deferring timestamp formatting to an enum. Fixes #133.
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
This has to do its own number formatting because *somebody* didn’t add “print the current month number” functionality to rust-datetime!
-
由 Benjamin Sago 提交于
-
由 Benjamin Sago 提交于
The information was always in the Metadata struct; exa just never used it.
-
由 Benjamin Sago 提交于
It used the mtime, rather than the atime. Copy and paste error. Whoops!
-
由 Benjamin Sago 提交于
By moving it outside of the Environment::load_all() constructor, it can be set to different values.
-