Ben S
055854d839
Upgrade to latest Rust
...
- std::os -> std::env
2015-02-05 15:25:59 +00:00
Ben S
42ae7b3d33
Refactor the code after tree view changes
...
- Turn the views and main program loop into structs, rather than just as one gigantic function
- Separate views into their own files
The addition of the git column and the tree view meant that a lot of functions now just took extra arguments that didn't seem to fit. For example, it didn't really work to have only one 'view' method that printed out everything, as the different view options now all take different parameters.
2015-02-05 14:39:56 +00:00
Ben S
2be30f36f2
Make transform_files stateful
...
Using `retain` instead of `filter` means we can just re-use the same Vec.
2015-02-04 15:47:52 +00:00
Ben S
8f36dbbc6f
Start using the new getopts interface
2015-02-04 14:51:55 +00:00
Ben S
184c27f5b4
unwrap_err() now uses Debug
2015-02-04 01:40:12 +00:00
Ben S
5eb9f9e414
Have tree view obey filtering and sorting
2015-02-03 21:26:21 +00:00
Ben S
d4d04b7e92
Turn the file filter options into their own struct
2015-02-03 17:03:58 +00:00
Ben S
827a1e11fd
Make filename not a column
...
FileName was always a special-cased column, as it was assumed to be the last column in the output. Now, it's explicitly marked as such. This allows the hash marks to be placed before the filename, rather than at the start of the line.
2015-02-03 13:48:39 +00:00
Ben S
5099b3f119
Initial tree implementation
...
There's still a lot to do, but this is actually *something*. The tree hierarchy is displayed using hashes at the start of a line. I want to have it just before the filename, but this will need some changes to the way that columns are handled.
2015-02-03 13:27:23 +00:00
Ben S
5611a5768a
Recurse into directories
2015-02-01 02:14:31 +00:00
Ben S
3242cb216a
Fix failing tests
2015-01-31 17:24:54 +00:00
Ben S
6d4b30d531
Code changes in preparation for recursion
2015-01-31 16:10:40 +00:00
Ben S
b0cdd17b97
Change the way columns are created
...
You can now have different columns per directory. So now, the Git column only appears when there's a Git repository in the current directory.
2015-01-28 22:02:25 +00:00
Ben S
1d0cc329eb
Don't even show the column without the feature
2015-01-27 15:30:55 +00:00
Ben S
90d4684de4
Preliminary Git support!
...
This is something that I've long wanted to add. It uses libgit2 as an optional dependency.
2015-01-27 15:01:17 +00:00
Ben S
da9d1f77d9
Cache the lowercased extension
...
Extensions aren't ever displayed in lowercase, just compared case-insensitively, so this makes sense.
2015-01-26 01:16:19 +00:00
Ben S
22a4dc90b9
Update #[derive] names
2015-01-26 00:27:06 +00:00
Benjamin Sago
f82dc741de
Correct argument name
2015-01-24 17:14:25 +00:00
Benjamin Sago
74fd04c1fb
Forbid a few more option combinations
2015-01-24 16:03:58 +00:00
Benjamin Sago
0edf761d22
Add all-important dots
2015-01-24 16:02:52 +00:00
Ben S
64c1600cd4
Make some fields private
2015-01-24 13:44:25 +00:00
Ben S
709fb71e69
Actually use the is_dotfile method
2015-01-24 12:53:25 +00:00
Ben S
2ba0b3bd5f
Convert docs to standard format
2015-01-24 12:38:05 +00:00
Ben S
0e473bf37b
Upgrade to latest Rust, and move options code
2015-01-23 19:27:06 +00:00
Benjamin Sago
728e7dd976
Forbid certain argument combinations
2015-01-13 00:31:30 +01:00
Benjamin Sago
3d59a48efe
Make option parsing unit-testable
2015-01-12 22:47:05 +01:00
Benjamin Sago
23e5d3ce8d
Allow for different types of failure
2015-01-12 22:14:27 +01:00
Benjamin Sago
3f08836c3f
Move viewing code to its own module
2015-01-12 21:08:42 +01:00
Benjamin Sago
d93bca8779
Make some options fields private
2015-01-12 19:44:39 +01:00
Benjamin Sago
1c5409e253
Upgrade to Rust alpha
...
- uint -> usize
- getopts Cargo library
- replace feature gates with unstable APIs
2015-01-12 01:31:24 +01:00
Benjamin Sago
fdf95fc206
to_ascii_lower -> to_ascii_lowercase
2015-01-01 02:37:10 +00:00
Ben S
e3a8342173
Upgrade code and libraries to latest Rust
...
std::str changes, and the way macros are expanded.
2014-12-24 04:31:59 +00:00
Ben S
a871a448be
Add --bytes to not use prefixes at all
2014-12-18 07:04:31 +00:00
Ben S
24628f97be
Use number_prefix crate for number prefixes
2014-12-18 07:00:31 +00:00
Ben S
224849b0e9
Make copyable values copyable
2014-12-14 18:23:06 +00:00
Ben S
65f124fe39
Use the natord library instead of our own sorter
...
I'm serious, the more functionality I can use external crates for, the better.
2014-12-12 11:26:18 +00:00
Ben S
6ade060eb6
Use curlies consistently
2014-11-25 20:50:23 +00:00
Ben S
e1d3512a69
Add --help flag
2014-11-25 15:54:50 +00:00
Ben S
bcaf54d7dd
Add a flag to print directories as files
...
Also, re-use the stat result from directory-checking.
2014-11-25 01:27:26 +00:00
Ben S
cbd2f1fa37
List files and directories separately
...
This finally fixes the issue where trying to list a file causes a crash. Also, tidy up some of the uses of references.
2014-11-24 17:03:36 +00:00
Ben S
5b7124bb71
I like aligning things
2014-11-24 02:13:54 +00:00
Ben S
ab66c681c2
Add some pointers
2014-11-23 22:36:03 +00:00
Ben S
933f98d2c3
Upgrade to latest Rust nightly
2014-11-23 21:29:11 +00:00
Ben S
e2f9a80ca5
Add none and inode sort options
2014-07-22 21:27:36 +01:00
Ben S
35a0ba3ba0
Use one-line view when output is not to a terminal
2014-07-22 20:50:53 +01:00
Ben S
44a9819417
Add --oneline option
...
Also, rename old 'lines' view to 'details' which makes more sense
2014-07-22 20:47:30 +01:00
Ben S
4cbc1f063a
Upgrade to latest Rust nightly
...
- Lifetime changes in unix.rs
- lexical_ordering -> cmp
- from_utf8_lossy got moved into String
- vec.get(n) -> vec[n]
2014-07-21 22:05:04 +01:00
Ben S
240cbf7b41
Add --across parameter
2014-07-07 19:18:09 +01:00
Ben S
728f9f1804
Add grid view by default
...
This makes it more like ls. The --long (-l) argument has been added to get at the old behaviour, and the --links argument is now on -H. I can't crib this behaviour from ls because it shows it by default.
TODO: The terminal size is currently assumed to be 80, and it uses the string length, rather than the width.
2014-07-06 17:33:40 +01:00
Ben S
8daeba2617
Move string-to-filenames-vector code to its own function
2014-07-05 22:36:43 +01:00