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).
Description
A single command that will bridge multiple D related applications like :
Similar to
busybox
or thego
command (yes i know i said the g-word :-)). It's a bit of a shame we would not be able to usedo
i guess. Until a better name comes along, assume we use the namedo
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]
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:
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