1. 06 8月, 2017 11 次提交
    • B
      Merge remote-tracking branch origin/option-pars-ng · b5bcf226
      Benjamin Sago 提交于
      This merges in exa’s own new options parser, which has the following features:
      
      - You can specify an option twice and it’ll use the second one, making aliases usable for defaults (fixes #144)
      - Lets arguments be specified more than once (fixes #125)
      
      Strict mode is not done yet; I just wanted to merge this in because it’s been a while, and there’s work that needs to be done on master so I don’t want them drifting apart any further.
      
      It’s likely that you’ll find cases where multiple arguments doesn’t work or where the wrong value is being used. There aren’t tests for *everything* yet, and it still uses global environment variables.
      
      # Conflicts:
      #	src/options/view.rs
      b5bcf226
    • B
      Specify minimum compiler version · ad8c3c43
      Benjamin Sago 提交于
      Now I just need to remember to update it. Was suggested in #197.
      ad8c3c43
    • B
      Specify that we need the width of stdout · 4289f4d2
      Benjamin Sago 提交于
      The term_size crate introduced in #237 did things *slightly* differently than exa: it tried to get the terminal width of stdout, stderr, and stdin. This broke some tests that only redirected stdout.
      4289f4d2
    • B
      Merge pull request #237 from ogham/exa/term_size · d701547e
      Benjamin Sago 提交于
      Use term_size crate to fetch terminal size.
      d701547e
    • B
      Merge pull request #224 from ogham/exa/master · 878be362
      Benjamin Sago 提交于
      Update filetype.rs
      878be362
    • B
      Temporarily hush warnings · 6759a5f9
      Benjamin Sago 提交于
      6759a5f9
    • B
      Extract version info into its own struct · 7cb9a435
      Benjamin Sago 提交于
      Now it’s more like help. There aren’t any other fields in its struct at the moment, but there will be in the future (listing the features, and extremely colourful vanity mode)
      7cb9a435
    • B
      These help fields don’t need to be pub · 411bdc43
      Benjamin Sago 提交于
      411bdc43
    • B
      Make building the matches more bearable · cdad6bb9
      Benjamin Sago 提交于
      Now, building the two result vectors doesn’t have to go through at least one field.
      cdad6bb9
    • B
      Separate the matched flags from the free strings · 9872eba8
      Benjamin Sago 提交于
      Originally, both the matched flags and the list of free strings were returned from the parsing function and then passed around to every type that had a ‘deduce’ method. This worked, but the list of free strings was carried around with it, never used.
      
      Now, only the flags are passed around. They’re in a new struct which has the methods the Matches had.
      
      Both of Matches’s fields are now just data, and all of the methods on MatchedFlags don’t ignore any fields, so it’s more cohesive, at least I think that’s the word.
      
      Building up the MatchedFlags is a bit more annoying though because the vector is now hidden behind a field.
      9872eba8
    • B
      Document and organise the parser module · 0456e7cf
      Benjamin Sago 提交于
      0456e7cf
  2. 05 8月, 2017 5 次提交
  3. 04 8月, 2017 2 次提交
  4. 27 7月, 2017 8 次提交
    • B
      Add some tests for the time flags · 06157fde
      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.
      06157fde
    • B
      Add tests for size format · 817c7d23
      Benjamin Sago 提交于
      817c7d23
    • B
      Add test for ignoring globs · adca0d36
      Benjamin Sago 提交于
      adca0d36
    • B
      Fix --tree --all · a2cd39e0
      Benjamin Sago 提交于
      Fixes #193. --all was treated the same as --all --all; now it’s treated differently.
      a2cd39e0
    • B
      Add tests for dot filters · 08315736
      Benjamin Sago 提交于
      08315736
    • B
      Add tests for sort field · bc5c0194
      Benjamin Sago 提交于
      **
      bc5c0194
    • B
      Streamline parser tests · 45e1cb77
      Benjamin Sago 提交于
      45e1cb77
    • B
      Switch to the new options parser · 2d1f462b
      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.
      2d1f462b
  5. 24 7月, 2017 1 次提交
    • B
      Move filter and dir_action from options to fs · 5b1966d2
      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.
      5b1966d2
  6. 23 7月, 2017 1 次提交
  7. 13 7月, 2017 9 次提交
  8. 12 7月, 2017 1 次提交
  9. 10 7月, 2017 2 次提交
    • B
      Merge branch 'file-namers' · f54bc417
      Benjamin Sago 提交于
      This creates a new type that holds file extensions in preparation for #116. It doesn’t do anything yet, but it will!
      f54bc417
    • B
      Get the list of file extensions from the Options · c29170e3
      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.
      c29170e3