https://github.com/bootandy/dust/issues/92
Not 100% sure if this code is clean yet, may well be a better way to do
it
Also:
Added test directory with incredably long name as test case.
Update test_symlinks.py for mac runners. Mac test runners create files
with very long names, hence the tests fail periodically unless they look
for a truncated name with '..' at the end.
The enum variant `ansi_term::Colour::Red` (which uses the ANSI color code `31`)
is used instead of the code `196` to display the size of the largest file. This
means that the red color of the terminal theme is used which is probably
preferred by most users.
enable_ansi_support must be run for windows 10 but is not required and
indeed fails if run on windows < 10.
Disable the expect so the code might run on windows 8
may fix:
https://github.com/bootandy/dust/issues/70
Use the whole width of the terminal assume width of 80 if none found
Show percentages in the final column. Show ASCII bars indicating usage
of the underlying directories in the space inbetween.
Display (height of terminal - 10) entries by default.
Reverse the output order so largest is at the bottom.
Break up tests. Change older tests to check real output of program.
Make use of the 'is' more to test the entire output.
Add test for no_color mode.
Replace several calls to format_string with calls that build a string
directly. I feel format_string is becoming unweildly and this simplfies
the tests
Following the large refactor on the previous commit, this commit fixes
the reverse functionality.
Depth detection moved into the tree building instead of being calculated
when drawing the tree to screen
WIP
Replace array of (string, int) pairs with tree of nodes.
A tree of nodes more accurately represents the underlying file structure
and hence is a better fit for the problem space.
Regression: Reverse doesn't work in this commit.
I suspect more methods can be simplifed and reduced.
strip_end_slash_including_root will remove end slashes including the
root directory.
The root directory has been a long running problem because if we strip
the final slash we will run dust on no directory instead of the root.
Fixes#9https://github.com/bootandy/dust/issues/9
Instead of printing the all sub tree leaves only the last leaf is now
printed. See readme change for example
The flag '-p' was added to print the sub tree the old way
Advised to use walkdir by burntsushi as using recursion on file systems
can blow the stack.
walkdir is slower but allows the code to be cleaner and more reliable
Also experimented with ignore but locking the hashmap resulted in
similar performance to walkdir but with much uglier code.