From be3010e8f76dbe67604ff3ec01d5448017896389 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Tue, 21 Nov 2017 14:59:42 -0800 Subject: [PATCH] Use atom's null grammar when assignLanguageMode is called w/ null --- spec/grammar-registry-spec.js | 4 ++-- src/grammar-registry.js | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/spec/grammar-registry-spec.js b/spec/grammar-registry-spec.js index 8c66ffe83..d64c0343f 100644 --- a/spec/grammar-registry-spec.js +++ b/spec/grammar-registry-spec.js @@ -1,4 +1,4 @@ -const {it, fit, ffit, fffit, beforeEach, afterEach, conditionPromise, timeoutPromise} = require('./async-spec-helpers') +const {it, fit, ffit, fffit, beforeEach, afterEach} = require('./async-spec-helpers') const path = require('path') const fs = require('fs-plus') @@ -43,7 +43,7 @@ describe('GrammarRegistry', () => { expect(buffer.getLanguageMode().getLanguageName()).toBe('CSS') expect(grammarRegistry.assignLanguageMode(buffer, null)).toBe(true) - expect(buffer.getLanguageMode().getLanguageName()).toBe('None') + expect(buffer.getLanguageMode().getLanguageName()).toBe('Null Grammar') }) }) }) diff --git a/src/grammar-registry.js b/src/grammar-registry.js index 106210b61..361ee0011 100644 --- a/src/grammar-registry.js +++ b/src/grammar-registry.js @@ -89,12 +89,14 @@ class GrammarRegistry extends FirstMate.GrammarRegistry { grammar = this.grammarForLanguageName(lowercaseLanguageName) if (!grammar) return false this.languageNameOverridesByBufferId.set(buffer.id, lowercaseLanguageName) - this.grammarScoresByBuffer.set(buffer, null) - if (grammar.name !== buffer.getLanguageMode().getLanguageName()) { - buffer.setLanguageMode(this.languageModeForGrammarAndBuffer(grammar, buffer)) - } } else { - buffer.setLanguageMode(null) + this.languageNameOverridesByBufferId.set(buffer.id, null) + grammar = this.nullGrammar + } + + this.grammarScoresByBuffer.set(buffer, null) + if (grammar.name !== buffer.getLanguageMode().getLanguageName()) { + buffer.setLanguageMode(this.languageModeForGrammarAndBuffer(grammar, buffer)) } return true