diff --git a/source/dub/internal/utils.d b/source/dub/internal/utils.d index 6380791..9aad1b2 100644 --- a/source/dub/internal/utils.d +++ b/source/dub/internal/utils.d @@ -713,7 +713,7 @@ static Regex!char comments_pattern, module_pattern; if (!regex_initialized) { - comments_pattern = regex(`//[^\r\n]*\r?\n?|/\*.*?\*/|/\+.*\+/`, "g"); + comments_pattern = regex(`//[^\r\n]*\r?\n?|/\*.*?\*/|/\+.*\+/`, "gs"); module_pattern = regex(`module\s+([\w\.]+)\s*;`, "g"); regex_initialized = true; } @@ -744,6 +744,7 @@ assert(getModuleNameFromContent("/* module foo; */\nmodule/*module foo;*/bar/*module foo;*/;") == "bar", getModuleNameFromContent("/* module foo; */\nmodule/*module foo;*/bar/*module foo;*/;")); assert(getModuleNameFromContent("/+ /+ module foo; +/ module foo; +/ module bar;") == "bar"); //assert(getModuleNameFromContent("/+ /+ module foo; +/ module foo; +/ module bar/++/;") == "bar"); // nested comments require a context-free parser! + assert(getModuleNameFromContent("/*\nmodule sometest;\n*/\n\nmodule fakemath;\n") == "fakemath"); } /**