Mostly onefile long tools that i needed
| Tool | Description |
|---|---|
docs.d |
A tool for generating docs for dtools |
diffman.d |
Diff alternative file compression tool |
lines.d |
A versatile line counting utility with language-based grouping and filtering |
todo.d |
Todos manager for your needs |
search.d |
Query file/pattern searching tool |
buildman.d |
Template based build tool written in D |
winsc.d |
Graphical Windows screenshot tool |
reminder.d |
A simple date reminder tool |
license.d |
License finder and license text generator tool |
template.d |
Custom text template tool |
ppm.d |
Simple tool for working with PPM files |
tatil.d |
Turkish holiday reminder/information tool |
foreach.d |
Executes command with piped lines as inputs |
mem.d |
Memory usage analyzer |
disman.d |
Disk Usage Analyzer |
This project uses envman's onefile package managment system.
This means all the files in the vendor folder are copies of another files.
If you want fresh install of the vendor files; Run the following commmand to see what dependencies are required to install.
envman pkg checkYou get a result like this
Status: envman onefile in use (1 packages defined).
- Package: argd
Status: [Missing Locally] (needs install)or like this
Status: envman onefile in use (1 packages defined).
- Package: argd
Status: [Unregistered] (Missing from global registry, use --fix to remove it from project.envman)
- Description: argd is a argument parser/command system written in D, its required because application depends on it.
- Obtain from: https://github.com/kerem3338/argd
If you don't have the required dependencies you can obtain them from the given links. Then you can register them like this
envman pkg register argd /downloads/argd.dQuick note: you can register URLs as a package. It still works as pretty much the same (Though i recommend downloading them locally).
Example command to register a URL (Web) Package: envman pkg register argd https://raw.githubusercontent.com/kerem3338/argd/refs/heads/master/source/argd.d
Then lastly install all of the dependency packages to their local destinations.
envman pkg installFirst you need to build the build tool (buildman). Most of the tools doesn't use fancy compiler tricks to build but i like to build with buildman
dmd buildman.d vendor/argd.d -of=buildman.exe After you compile the build tool, you can compile other tools.
buildman build . allIf you like to add your own custom tool you can do like following.
template generate data/tool.template name="<tool_name>" description="description goes here" author="your name goes here" --save=<tool_name>.dOr you can use new tool script. (Yes a template engine could be a scripting language if you try too hard)
template generate data/new_tool.templateThen you need to add building recipe to buildman.json file.
The data directory contains zz (template.d's template engine's name) templates and other files for making my and maybe your life little bit easier for working with dtools
Most tools in dtools are CLI-based and, by default, print detailed output including both essential and non-essential information. You can disable this behavior by adding the -q (quiet) option at the end of your command.