diff --git a/src/extensions/default/LESSSupport/main.js b/src/extensions/default/LESSSupport/main.js index 67245955766..49930897c3b 100644 --- a/src/extensions/default/LESSSupport/main.js +++ b/src/extensions/default/LESSSupport/main.js @@ -36,5 +36,11 @@ define(function (require, exports, module) { fileExtensions: ["less"], blockComment: ["/*", "*/"], lineComment: ["//"] + }).done(function (lessLanguage) { + // Hack to make it so that when we see a "css" mode inside a LESS file, + // we know that it's really LESS. Ideally we would have a way to get the + // actual mime type from CodeMirror, so we know what mode configuration is + // in use (see #7345). + lessLanguage._setLanguageForMode("css", lessLanguage); }); }); diff --git a/src/language/LanguageManager.js b/src/language/LanguageManager.js index cc5c81a762a..dc3831d1dbc 100644 --- a/src/language/LanguageManager.js +++ b/src/language/LanguageManager.js @@ -874,6 +874,10 @@ define(function (require, exports, module) { // Similarly, the php mode uses clike internally for the PHP parts var php = getLanguage("php"); php._setLanguageForMode("clike", php); + + // Similar hack to the above for dealing with SCSS/CSS. + var scss = getLanguage("scss"); + scss._setLanguageForMode("css", scss); // The fallback language for unknown modes and file extensions _fallbackLanguage = getLanguage("unknown");