No description
Find a file
Yorhel fe2340876d scan.zig: Revamp output API, reduce buffering a bit, re-add UI
New output API takes over (most of) the buffering responsibilites from
the scanning code, simplifying that code and allowing for a few minor
optimizations, such as not buffering at all when scanning into RAM and
buffering directly into JSON strings when exporting.

This is mostly yak shaving, hopefully allowing for further performance
improvements to be implemented later. The new API could also be extended
to support parallel scanning of disjoint trees, in case current approach
isn't working out too well.

Also re-added the progress UI and improved propagating read errors.
A visible side effect of the new API is that the progress UI now
displays the most recent directory being scanned rather than individual
files. Not a big loss, I hope?
2022-02-07 14:13:36 +01:00
LICENSES Add REUSE-compliant copyright headers 2021-07-18 11:50:50 +02:00
src scan.zig: Revamp output API, reduce buffering a bit, re-add UI 2022-02-07 14:13:36 +01:00
.gitignore Add REUSE-compliant copyright headers 2021-07-18 11:50:50 +02:00
build.zig Version 2.0.1 + copyright year bump 2022-01-01 16:01:47 +01:00
ChangeLog Version 2.1; remove 1.x changes from the ChangeLog 2022-02-07 13:59:22 +01:00
Makefile Version 2.0.1 + copyright year bump 2022-01-01 16:01:47 +01:00
ncdu.pod Add --graph-style option and Unicode graph drawing 2022-02-03 16:10:18 +01:00
README.md Version 2.0.1 + copyright year bump 2022-01-01 16:01:47 +01:00

ncdu-zig

Description

Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find space hogs on a remote server where you don't have an entire graphical setup available, but it is a useful tool even on regular desktop systems. Ncdu aims to be fast, simple and easy to use, and should be able to run in any minimal POSIX-like environment with ncurses installed.

See the ncdu 2 release announcement for information about the differences between this Zig implementation (2.x) and the C version (1.x).

Requirements

  • Zig 0.9.0
  • Some sort of POSIX-like OS
  • ncurses libraries and header files

Install

You can use the Zig build system if you're familiar with that.

There's also a handy Makefile that supports the typical targets, e.g.:

make
sudo make install PREFIX=/usr