I'd keep the change to a pure API change and instead automatically append ".dt" to the string_include_name, so that include can be used.

about that ... vibe.d itself is wonderfully flexible but this parser is full of magic strings and numbers!

(lnstr.startsWith("include ") )  ret ~= lnstr[8 .. $].ctstrip() ~ ".dt"; 

is horrible

(lnstr.startsWith(Keyword.include~" ") )  ret ~= lnstr[Keyword.include.length+1 .. $].ctstrip() ~ defaultExt;

would be so mich nicer

Regards,
Uplink_Coder