- Aug 10, 2022
-
-
Yorhel authored
Behavioral changes: - A single wildcard ('*') does not cross directory boundary anymore. Previously 'a*b' would also match 'a/b', but no other tool that I am aware of matches paths that way. This change breaks compatibility with old exclude patterns but improves consistency with other tools. - Patterns with a trailing '/' now prevent recursing into the directory. Previously any directory excluded with such a pattern would show up as a regular directory with all its contents excluded, but now the directory entry itself shows up as excluded. - If the path given to ncdu matches one of the exclude patterns, the old implementation would exclude every file/dir being read, this new implementation would instead ignore the rule. Not quite sure how to best handle this case, perhaps just exit with an error message? Performance wise, I haven't yet found a scenario where this implementation is slower than the old one and it's *significantly* faster in some cases - in particular when using a large amount of patterns, especially with literal paths and file names. That's not to say this implementation is anywhere near optimal: - A list of relevant patterns is constructed for each directory being scanned. It may be possible to merge pattern lists that share the same prefix, which could both reduce memory use and the number of patterns that need to be matched upon entering a directory. - A hash table with dynamic arrays as values is just garbage from a memory allocation point of view. - This still uses libc fnmatch(), but there's an opportunity to precompile patterns for faster matching.
-
- Aug 08, 2022
-
-
Yorhel authored
The other files were already indirectly referenced, but it's good to make it explicit.
-
- Jun 15, 2022
-
-
Yorhel authored
Based on #204.
-
- Apr 28, 2022
-
-
Yorhel authored
-
Yorhel authored
I wasn't planning on (publicly) keeping up with Zig master before the next release, but it's looking like 0.10 will mainly focus on the new stage2 compiler and there might not be any significant language/stdlib changes. If that's the case, might as well pull in this little change in order to increase chances of ncdu working out of the box when 0.10 is out.
-
- Apr 16, 2022
-
-
Yorhel authored
Fixes #199. That's not to say it handles variation selectors or combining marks well, though. This is kind of messy. :(
-
- Mar 25, 2022
-
-
Yorhel authored
-
- Mar 24, 2022
-
-
Yorhel authored
While it's true that the root item can't be a special, the first item to be added is not necessarily the root item. In particular, it isn't when refreshing. Probably fixes #194
-
- Mar 16, 2022
-
-
Yorhel authored
Because, even in 2022, there are systems where the libc locale is not, in fact, UTF-8. Fixes #186.
-
- Mar 14, 2022
-
-
Yorhel authored
-
Phil Jones authored
Change "eigth-block" to "eighth-block"
-
- Feb 07, 2022
-
-
Yorhel authored
-
- Feb 05, 2022
-
-
Yorhel authored
That *usually* doesn't take longer than a few milliseconds, but it can take a few seconds for some extremely large dirs, on very slow computers or with optimizations disabled. Better display a message than make it seem as if ncdu has stopped doing anything.
-
- Feb 03, 2022
-
-
Yorhel authored
And also adjust the graph width calculation to do a better job when the largest item is smaller than the number of columns used for the graph, which would previously draw either nothing (if size = 0) or a full bar (if size > 0). Fixes #172.
-
Yorhel authored
Fixes #181, now also for Zig.
-
- Feb 02, 2022
- Jan 01, 2022
-
-
Yorhel authored
-
- Dec 26, 2021
-
-
Yorhel authored
Fixes #183
-
- Dec 21, 2021
-
-
Yorhel authored
-
Yorhel authored
I'm tagging this as a "stable" 2.0 release because the 2.0-beta# numbering will get confusing when I'm working on new features and fixes. It's still only usable for people who can use the particular Zig version that's required (0.9.0 currently) and it will certainly break on different Zig versions. But once you have a working binary for a supported arch, it's perfectly stable.
-
Yorhel authored
-
- Nov 09, 2021
-
- Nov 02, 2021
-
-
Yorhel authored
...by making sure that Context.parents is properly initialized to null when not scanning to RAM. Fixes #179.
-
- Oct 06, 2021
-
-
Yorhel authored
Bit pointless to make these options nullable when you never assign null to them.
-
Yorhel authored
-
Yorhel authored
-
Yorhel authored
-
Yorhel authored
Not going to bloat the help output with all those settings...
-
Yorhel authored
Saves about 15k on the binary size. It does allocate a bit more, but it also frees the memory this time.
-
Yorhel authored
-
Yorhel authored
-
- Oct 05, 2021
-
-
Yorhel authored
+ reorder manpage a bit, since the scan options tend to be more relevant than all those UI options. Again, these are mainly useful with a config file.
-
Yorhel authored
Might as well keep it. The quick-config menu popup idea can always be implemented later on, we're not running out of keys quite yet.
-
Yorhel authored
The --enable-* options also work for imported files, this fixes #120. Most other options are not super useful on its own, but these will be useful when there's a config file.
-
- Sep 28, 2021
-
-
Yorhel authored
That was an oversight. Especially useless when there's no option to disable -x.
-
- Aug 16, 2021
-