Rename Highlighter -> LanguageMode

This commit is contained in:
Nathan Sobo
2012-06-13 15:21:27 -06:00
parent c09c672843
commit f1397db60b
11 changed files with 209 additions and 209 deletions

View File

@@ -2,8 +2,8 @@ module.exports =
class AceFoldAdaptor
foldWidgets: {}
constructor: (@highlighter) ->
@buffer = @highlighter.buffer
constructor: (@languageMode) ->
@buffer = @languageMode.buffer
getLine: (bufferRow) ->
@buffer.lineForRow(bufferRow)
@@ -12,5 +12,5 @@ class AceFoldAdaptor
@buffer.getLineCount()
$findClosingBracket: (bracketType, bufferPosition) ->
@highlighter.findClosingBracket([bufferPosition.row, bufferPosition.column - 1])
@languageMode.findClosingBracket([bufferPosition.row, bufferPosition.column - 1])

View File

@@ -2,10 +2,10 @@ AceFoldAdaptor = require 'ace-fold-adaptor'
module.exports =
class FoldSuggester
constructor: (@highlighter) ->
@buffer = @highlighter.buffer
constructor: (@languageMode) ->
@buffer = @languageMode.buffer
@aceFoldMode = @buffer.getMode().foldingRules
@aceFoldAdaptor = new AceFoldAdaptor(@highlighter)
@aceFoldAdaptor = new AceFoldAdaptor(@languageMode)
isBufferRowFoldable: (bufferRow) ->
@aceFoldMode?.getFoldWidget(@aceFoldAdaptor, null, bufferRow) == "start"

View File

@@ -6,7 +6,7 @@ Range = require 'range'
Point = require 'point'
module.exports =
class Highlighter
class LanguageMode
@idCounter: 1
buffer: null
screenLines: []
@@ -14,7 +14,7 @@ class Highlighter
constructor: (@buffer, @tabText) ->
@id = @constructor.idCounter++
@screenLines = @buildScreenLinesForRows('start', 0, @buffer.getLastRow())
@buffer.on "change.highlighter#{@id}", (e) => @handleBufferChange(e)
@buffer.on "change.languageMode#{@id}", (e) => @handleBufferChange(e)
handleBufferChange: (e) ->
oldRange = e.oldRange.copy()
@@ -75,7 +75,7 @@ class Highlighter
@screenLines[row]?.state ? 'start'
destroy: ->
@buffer.off ".highlighter#{@id}"
@buffer.off ".languageMode#{@id}"
iterateTokensInBufferRange: (bufferRange, iterator) ->
bufferRange = Range.fromObject(bufferRange)
@@ -107,4 +107,4 @@ class Highlighter
stop()
position
_.extend(Highlighter.prototype, EventEmitter)
_.extend(LanguageMode.prototype, EventEmitter)

View File

@@ -3,15 +3,15 @@ AceLineCommentAdaptor = require 'ace-line-comment-adaptor'
module.exports =
class LineCommenter
highlighter: null
languageMode: null
buffer: null
aceMode: null
constructor: (@highlighter) ->
@buffer = @highlighter.buffer
constructor: (@languageMode) ->
@buffer = @languageMode.buffer
@aceMode = @buffer.getMode()
@adaptor = new AceLineCommentAdaptor(@buffer)
toggleLineCommentsInRange: (range) ->
range = Range.fromObject(range)
@aceMode.toggleCommentLines(@highlighter.stateForRow(range.start.row), @adaptor, range.start.row, range.end.row)
@aceMode.toggleCommentLines(@languageMode.stateForRow(range.start.row), @adaptor, range.start.row, range.end.row)

View File

@@ -1,5 +1,5 @@
_ = require 'underscore'
Highlighter = require 'highlighter'
LanguageMode = require 'language-mode'
FoldSuggester = require 'fold-suggester'
LineMap = require 'line-map'
Point = require 'point'
@@ -14,22 +14,22 @@ module.exports =
class Renderer
@idCounter: 1
lineMap: null
highlighter: null
languageMode: null
activeFolds: null
lineCommenter: null
foldsById: null
lastHighlighterChangeEvent: null
lastLanguageModeChangeEvent: null
constructor: (@buffer, options={}) ->
@id = @constructor.idCounter++
@highlighter = new Highlighter(@buffer, options.tabText ? ' ')
@lineCommenter = new LineCommenter(@highlighter)
@foldSuggester = new FoldSuggester(@highlighter)
@languageMode = new LanguageMode(@buffer, options.tabText ? ' ')
@lineCommenter = new LineCommenter(@languageMode)
@foldSuggester = new FoldSuggester(@languageMode)
@softWrapColumn = options.softWrapColumn ? Infinity
@activeFolds = {}
@foldsById = {}
@buildLineMap()
@highlighter.on 'change', (e) => @lastHighlighterChangeEvent = e
@languageMode.on 'change', (e) => @lastLanguageModeChangeEvent = e
@buffer.on "change.renderer#{@id}", (e) => @handleBufferChange(e)
buildLineMap: ->
@@ -163,7 +163,7 @@ class Renderer
@lineMap.bufferPositionForScreenPosition(position, options)
stateForScreenRow: (screenRow) ->
@highlighter.stateForRow(screenRow)
@languageMode.stateForRow(screenRow)
clipScreenPosition: (position, options) ->
@lineMap.clipScreenPosition(position, options)
@@ -173,9 +173,9 @@ class Renderer
allFolds.push(folds...) for row, folds of @activeFolds
fold.handleBufferChange(e) for fold in allFolds
@handleHighlighterChange(@lastHighlighterChangeEvent)
@handleLanguageModeChange(@lastLanguageModeChangeEvent)
handleHighlighterChange: (e) ->
handleLanguageModeChange: (e) ->
newRange = e.newRange.copy()
newRange.start.row = @bufferRowForScreenRow(@screenRowForBufferRow(newRange.start.row))
@@ -202,7 +202,7 @@ class Renderer
startBufferColumn = 0
while currentBufferRow <= endBufferRow
screenLine = @highlighter.lineForScreenRow(currentBufferRow)
screenLine = @languageMode.lineForScreenRow(currentBufferRow)
screenLine.foldable = @foldSuggester.isBufferRowFoldable(currentBufferRow)
if fold = @largestFoldForBufferRow(currentBufferRow)
@@ -256,7 +256,7 @@ class Renderer
new Range([0, 0], @clipScreenPosition([Infinity, Infinity]))
destroy: ->
@highlighter.destroy()
@languageMode.destroy()
@buffer.off ".renderer#{@id}"
logLines: (start, end) ->