From 32abf2cda8e1c2baf08d3de8129aa64b4fc3943a Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 20 Feb 2013 15:46:51 -0800 Subject: [PATCH] Only create span class once Previously this was being generated on each match even though the same classes were used for every match. --- src/app/token.coffee | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/app/token.coffee b/src/app/token.coffee index 1bcd45660..d11cde460 100644 --- a/src/app/token.coffee +++ b/src/app/token.coffee @@ -71,30 +71,29 @@ class Token .replace(//g, '>') + classes = [] + classes.push('indent-guide') if hasIndentGuide if @isHardTab + classes.push('invisible') if invisibles.tab + classes.push('hard-tab') + classes = classes.join(' ') html = html.replace /^./, (match) -> - classes = [] - classes.push('invisible') if invisibles.tab - classes.push('indent-guide') if hasIndentGuide - classes.push('hard-tab') match = invisibles.tab ? match - "#{match}" + "#{match}" else if hasLeadingWhitespace + classes.push('invisible') if invisibles.space + classes.push('leading-whitespace') + classes = classes.join(' ') html = html.replace /^[ ]+/, (match) -> - classes = [] - classes.push('invisible') if invisibles.space - classes.push('indent-guide') if hasIndentGuide - classes.push('leading-whitespace') match = match.replace(/./g, invisibles.space) if invisibles.space - "#{match}" + "#{match}" if hasTrailingWhitespace + classes.push('invisible') if invisibles.space + classes.push('trailing-whitespace') + classes = classes.join(' ') html = html.replace /[ ]+$/, (match) -> - classes = [] - classes.push('invisible') if invisibles.space - classes.push('indent-guide') if hasIndentGuide - classes.push('trailing-whitespace') match = match.replace(/./g, invisibles.space) if invisibles.space - "#{match}" + "#{match}" html