From 60b9cf1270ee18da387a2bafcde99e91183343e2 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 18 Feb 2016 14:12:44 +0100 Subject: [PATCH] :racehorse: Cache regexes in getRegexForProperty --- src/language-mode.coffee | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/language-mode.coffee b/src/language-mode.coffee index ac8a5af76..dc5003cac 100644 --- a/src/language-mode.coffee +++ b/src/language-mode.coffee @@ -10,6 +10,7 @@ class LanguageMode # editor - The {TextEditor} to associate with constructor: (@editor, @config) -> {@buffer} = @editor + @regexesByPattern = {} destroy: -> @@ -328,7 +329,8 @@ class LanguageMode getRegexForProperty: (scopeDescriptor, property) -> if pattern = @config.get(property, scope: scopeDescriptor) - new OnigRegExp(pattern) + @regexesByPattern[pattern] ?= new OnigRegExp(pattern) + @regexesByPattern[pattern] increaseIndentRegexForScopeDescriptor: (scopeDescriptor) -> @getRegexForProperty(scopeDescriptor, 'editor.increaseIndentPattern')