1 module exec.iexecprovider; 2 3 import std.typecons: Tuple; 4 5 alias Package = Tuple!(string, "name", string, "version_"); 6 7 /++ 8 Interface for exec providers that take source code 9 and output the compiled program's output. 10 +/ 11 interface IExecProvider 12 { 13 struct RunInput 14 { 15 string source; 16 string compiler = "dmd"; 17 string args; 18 string stdin; 19 bool color; 20 } 21 Tuple!(string, "output", bool, "success") compileAndExecute(RunInput input); 22 23 24 // returns a list of all installed DUB packages 25 Package[] installedPackages(); 26 }