Skip to content

Repository files navigation

Dtools

Mostly onefile long tools that i needed

List of Tools included

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

Important Note

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 check

You 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.d

Quick 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 install

Building

First 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 . all

Creating a new tool

If 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>.d

Or 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.template

Then you need to add building recipe to buildman.json file.

About the data directory.

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

About the tools & details

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.

About

Collection of tools that written in D

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages