project-ideas icon indicating copy to clipboard operation
project-ideas copied to clipboard

Integrate multiple D commandline utilities into one

Open dkgroot opened this issue 6 years ago • 6 comments

Description

A single command that will bridge multiple D related applications like :

  • dmd / rdmd / ldmd2 / gdmd2
  • dfmt
  • dfix
  • dub
  • dscanner
  • dustmite
  • ddemangle
  • drepl
  • etc.

Similar to busybox or the go command (yes i know i said the g-word :-)). It's a bit of a shame we would not be able to use do i guess. Until a better name comes along, assume we use the name do for now, then sub commands could be:

  • do compile
  • do build
  • do test
  • do repl | do cli
  • do profile
  • do initproject
  • do umbrella
  • do fix
  • do fmt
  • do scan
  • do mangle
  • do generate [dub.sdl | dub.json | cmake-d]
  • do convert [dub.sdl | dub.json | cmake-d]
  • etc

In the first interation it could just be a simple frontend to these other commands. As time progresses deeper integration would be possible, for example:

  • parallelizing builds with smart compiler integration. Whereby dub could provide multiple paths/modules to be compiled and the compiler could generate backpressure when needed.
  • have the compiler spit out suggestions to counteract deprecation's, which would in turn could generate a diff/patch generated by dfix and dfmt.

How does this project help the D community?

In the beginning, it would simplify user interaction and allow new users to get exposed to more of the available d-tools without having to search for them. When the integration progresses, it could smooth the way for to make changes to the language without large negative impact (as in the latter example).

References

dkgroot avatar May 11 '19 17:05 dkgroot

I suggest dee for the name.

atilaneves avatar May 23 '19 13:05 atilaneves

thats a dbus tool, what about dt

burner avatar May 23 '19 13:05 burner

I suggest mars.

PetarKirov avatar May 24 '19 04:05 PetarKirov

How about:

  • "duh" (Patently obvious to the most casual observer.)
  • "da" (Russian "yes")
  • "doh" (Homer Simpson)
  • "de" (Dutch version of "the")

dkgroot avatar May 24 '19 17:05 dkgroot

ddt - D Development/Developer Tools.

jacob-carlborg avatar May 24 '19 19:05 jacob-carlborg

Why not just call the command d? Sometimes the simplest solution is the best one.

moon-chilled avatar Nov 27 '19 04:11 moon-chilled