diff --git a/src/LiveDevelopment/LiveDevelopment.js b/src/LiveDevelopment/LiveDevelopment.js index 48c9cc7ec92..94495bc8c0b 100644 --- a/src/LiveDevelopment/LiveDevelopment.js +++ b/src/LiveDevelopment/LiveDevelopment.js @@ -245,10 +245,11 @@ define(function LiveDevelopment(require, exports, module) { * @param {Document} document */ function _classForDocument(doc) { - switch (doc.getLanguage().getId()) { - case "css": + var language = doc.getLanguage(); + if (language.isInstanceOfLanguage("css")) { return CSSDocument; - case "javascript": + } + if (language.isInstanceOfLanguage("javascript")) { return exports.config.experimental ? JSDocument : null; } diff --git a/src/editor/CSSInlineEditor.js b/src/editor/CSSInlineEditor.js index 01b2dca766d..c196f3581e9 100644 --- a/src/editor/CSSInlineEditor.js +++ b/src/editor/CSSInlineEditor.js @@ -90,7 +90,7 @@ define(function (require, exports, module) { */ function htmlToCSSProvider(hostEditor, pos) { // Only provide a CSS editor when cursor is in HTML content - if (hostEditor.getLanguageForSelection().getId() !== "html") { + if (!hostEditor.getLanguageForSelection().isInstanceOfLanguage("html")) { return null; } diff --git a/src/editor/CodeHintManager.js b/src/editor/CodeHintManager.js index 9649f5a1b6e..fdf3a22c3fa 100644 --- a/src/editor/CodeHintManager.js +++ b/src/editor/CodeHintManager.js @@ -285,11 +285,11 @@ define(function (require, exports, module) { * Return the array of hint providers for the given language id. * This gets called (potentially) on every keypress. So, it should be fast. * - * @param {!string} languageId + * @param {!Language} language * @return {?Array.<{provider: Object, priority: number}>} */ - function _getProvidersForLanguageId(languageId) { - return hintProviders[languageId] || hintProviders.all; + function _getProvidersForLanguage(language) { + return language.findEntryInObject(hintProviders) || hintProviders.all; } /** @@ -375,7 +375,7 @@ define(function (require, exports, module) { function _beginSession(editor) { // Find a suitable provider, if any var language = editor.getLanguageForSelection(), - enabledProviders = _getProvidersForLanguageId(language.getId()); + enabledProviders = _getProvidersForLanguage(language); enabledProviders.some(function (item, index) { if (item.provider.hasHints(editor, lastChar)) { diff --git a/src/extensions/default/JSLint/main.js b/src/extensions/default/JSLint/main.js index 9d1c92d238a..741a6fc2bd9 100644 --- a/src/extensions/default/JSLint/main.js +++ b/src/extensions/default/JSLint/main.js @@ -107,7 +107,7 @@ define(function (require, exports, module) { var language = currentDoc ? LanguageManager.getLanguageForPath(currentDoc.file.fullPath) : ""; - if (_enabled && language && language.getId() === "javascript") { + if (_enabled && language && language.isInstanceOfLanguage("javascript")) { perfTimerLint = PerfUtils.markStart("JSLint linting:\t" + (!currentDoc || currentDoc.file.fullPath)); var text = currentDoc.getText(); diff --git a/src/extensions/default/JavaScriptCodeHints/HintUtils.js b/src/extensions/default/JavaScriptCodeHints/HintUtils.js index 7b8fcc0b961..df0b14d476b 100644 --- a/src/extensions/default/JavaScriptCodeHints/HintUtils.js +++ b/src/extensions/default/JavaScriptCodeHints/HintUtils.js @@ -170,8 +170,8 @@ define(function (require, exports, module) { }); } - function isSupportedLanguage(languageId) { - return SUPPORTED_LANGUAGES.indexOf(languageId) !== -1; + function isSupportedLanguage(language) { + return language.isInstanceOfLanguageInArray(SUPPORTED_LANGUAGES); } var KEYWORD_NAMES = [ "break", "case", "catch", "continue", "debugger", "default", "delete", diff --git a/src/extensions/default/JavaScriptCodeHints/ScopeManager.js b/src/extensions/default/JavaScriptCodeHints/ScopeManager.js index 5de17df2939..c5571cd50a3 100644 --- a/src/extensions/default/JavaScriptCodeHints/ScopeManager.js +++ b/src/extensions/default/JavaScriptCodeHints/ScopeManager.js @@ -200,8 +200,8 @@ define(function (require, exports, module) { if (fileCallback && entry.isFile) { if (file.indexOf(".") > 0) { // ignore .dotfiles - var languageID = LanguageManager.getLanguageForPath(path).getId(); - if (languageID === HintUtils.LANGUAGE_ID) { + var language = LanguageManager.getLanguageForPath(path); + if (language.isInstanceOfLanguage(HintUtils.LANGUAGE_ID)) { fileCallback(path); } } diff --git a/src/extensions/default/JavaScriptCodeHints/Session.js b/src/extensions/default/JavaScriptCodeHints/Session.js index e93e023b40d..967dd1b54d4 100644 --- a/src/extensions/default/JavaScriptCodeHints/Session.js +++ b/src/extensions/default/JavaScriptCodeHints/Session.js @@ -504,7 +504,7 @@ define(function (require, exports, module) { * @return {string} - the "javascript" text that can be sent to Tern. */ Session.prototype.getJavascriptText = function () { - if (LanguageManager.getLanguageForPath(this.editor.document.file.fullPath).getId() === "html") { + if (this.editor.document.getLanguage().isInstanceOfLanguage("html")) { // HTML file - need to send back only the bodies of the //