From 228fa1abe556c52ce7d276810cf120e2106f12fc Mon Sep 17 00:00:00 2001 From: Kevin Sawicki & Nathan Sobo Date: Mon, 22 Apr 2013 17:23:51 -0700 Subject: [PATCH] Store injections grammars on Syntax global --- src/app/syntax.coffee | 3 +++ src/app/text-mate-grammar.coffee | 5 +---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/syntax.coffee b/src/app/syntax.coffee index 0caa68524..4115c2797 100644 --- a/src/app/syntax.coffee +++ b/src/app/syntax.coffee @@ -23,6 +23,7 @@ class Syntax @nullGrammar = new NullGrammar @grammars = [@nullGrammar] @grammarsByScopeName = {} + @injectionGrammars = [] @grammarOverridesByPath = {} @scopedPropertiesIndex = 0 @scopedProperties = [] @@ -34,12 +35,14 @@ class Syntax previousGrammars = new Array(@grammars...) @grammars.push(grammar) @grammarsByScopeName[grammar.scopeName] = grammar + @injectionGrammars.push(grammar) if grammar.injectionSelector? @grammarUpdated(grammar.scopeName) @trigger 'grammar-added', grammar removeGrammar: (grammar) -> _.remove(@grammars, grammar) delete @grammarsByScopeName[grammar.scopeName] + _.remove(@injectionGrammars, grammar) @grammarUpdated(grammar.scopeName) grammarUpdated: (scopeName) -> diff --git a/src/app/text-mate-grammar.coffee b/src/app/text-mate-grammar.coffee index d1ec2339b..62384f097 100644 --- a/src/app/text-mate-grammar.coffee +++ b/src/app/text-mate-grammar.coffee @@ -27,8 +27,6 @@ class TextMateGrammar @loadSync: (path) -> new TextMateGrammar(fsUtils.readObject(path)) - @injectionGrammars: [] - name: null rawPatterns: null rawRepository: null @@ -47,7 +45,6 @@ class TextMateGrammar if injectionSelector? @injectionSelector = new TextMateScopeSelector(injectionSelector) - TextMateGrammar.injectionGrammars.push(this) @firstLineRegex = new OnigRegExp(firstLineMatch) if firstLineMatch @fileTypes ?= [] @@ -279,7 +276,7 @@ class Rule results.push(result) scopes = scopesFromStack(ruleStack) - for injectionGrammar in _.without(TextMateGrammar.injectionGrammars, @grammar, baseGrammar) + for injectionGrammar in _.without(syntax.injectionGrammars, @grammar, baseGrammar) if injectionGrammar.injectionSelector.matches(scopes) scanner = injectionGrammar.getInitialRule().getScanner(injectionGrammar, position, firstLine) if result = scanner.findNextMatch(lineWithNewline, position)