dustmite(1)
π dustmite β bestie's guide to shrinking ur code
okay so first things first, the manual name is dustmite and it lives in section 1 of the manual, and honestly? she's that girl. let's get into it π«Ά
β¨ NAME β¨
dustmite β a tool for minimizing D source code. periodt.
πΈ SYNOPSIS πΈ
dustmite [OPTION]... PATH TESTER
that's the whole vibe. PATH and TESTER are mandatory, the options are the little sprinkles on top π
π DESCRIPTION π
so DustMite is a tool for minimizing D source code, fr fr. and like, plot twist, reducing C++ code also works quite well via --split *.{c,cpp,h,hpp}:d β she's versatile, she contains multitudes π
DustMite will parse the source code into a simple hierarchy, and then attempt to shrink it by deleting fragments iteratively, as long as the result satisfies a user-specified condition. it's giving "keep deleting until the vibes are still immaculate" β¨
PATH should be a directory containing a clean copy of the file-set to reduce.
- A file path can also be specified too, no stress.
NAME.EXTwill be treated likeNAME/NAME.EXT. andTESTERshould be a shell command which returns0for a correct reduction, and anything else otherwise. yes bestie, the exit code IS the vibe check π₯
π OPTIONS π
--forceβ Force reduction of unusual files. she said "unusual files are valid too" π--reduce-onlyMASK β Only reduce paths glob-matching MASK (may be used multiple times, so stack 'em up like friendship bracelets π)--no-removeREGEXP β Do not reduce blocks containing REGEXP (may be used multiple times β some things are protected, and that's on boundaries πΈ)--strip-commentsβ Attempt to remove comments from source code. bye bye commentary π--coverageDIR β Load.lstfiles corresponding to source files from DIR--obfuscateβ Instead of reducing, obfuscate the input by replacing words with random substitutions. not a reduction era, an incognito era π--keep-lengthβ Preserve word length when obfuscating. keeps the silhouette the same, love that for her β¨--splitMASK:MODE β Parse and reduce files specified by MASK using the given splitter. Can be repeated. MODE must be one of:files,lines,words,d--no-redirectβ Don't redirect stdout/stderr streams of test command. she's letting it all out, unfiltered π«Ά-j[N] β Use N look-ahead processes (8by default). multitasking queen π--helpβ Show this message
π¦ Less interesting options:
(her words not mine, but okay we still love them)
--strategySTRAT β Set strategy (careful/lookback/pingpong/indepth/inbreadth)--dumpβ Dump parsed tree to DIR.dumpfile--dump-htmlβ Dump parsed tree to DIR.htmlfile--timesβ Display verbose spent time breakdown. clock it β°--cacheDIR β Use DIR as persistent disk cache (in addition to memory cache)--traceβ Save all attempted reductions to DIR.trace--no-saveβ Disable saving in-progress results. living in the moment, no screenshots π--no-optimizeβ Disable tree optimization step (may be useful with--dump)
π SEE ALSO π
The full documentation for dustmite can be found on the GitHub wiki:
https://github.com/CyberShadow/DustMite/wiki
go read it, it's lowkey iconic, iykyk πβ¨
bestie this page came from the Dustmite manual, dated December 2016, and it's dustmite(1) in the User Commands section. slay, go minimize something πππ¦
π¦ where this page comes from
- debian bookworm: dustmite 0.0.430-2 Β· LicenseRef-public-domain
- debian trixie: dustmite 0.0.430-2.1+b1 Β· LicenseRef-public-domain
- ubuntu jammy: dustmite 0~20170126.e95dff8-3build5 Β· LicenseRef-public-domain
- ubuntu noble: dustmite 0.0.430-2.1 Β· LicenseRef-public-domain
- ubuntu questing: dustmite 0.0.430-2.1build3
- ubuntu resolute: dustmite 0.0.430-2.1build4 Β· LicenseRef-public-domain
- ubuntu stonking: dustmite 0.0.430-2.1build4 Β· LicenseRef-public-domain
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms