LineCommenter.proto.toggleLineCommentsInRange comments / uncomments lines in a selection

This commit is contained in:
Nathan Sobo
2012-06-01 14:28:40 -06:00
parent 4c795718eb
commit 2c35a1f12d
4 changed files with 35 additions and 11 deletions

View File

@@ -0,0 +1,16 @@
Range = require 'range'
module.exports =
class AceLineCommentAdaptor
constructor: (@buffer) ->
getLine: (row) ->
@buffer.lineForRow(row)
indentRows: (startRow, endRow, indentString) ->
for row in [startRow..endRow]
@buffer.insert([row, 0], indentString)
replace: (range, text) ->
range = Range.fromObject(range)
@buffer.change(range, text)

View File

@@ -1,4 +1,5 @@
Range = require 'range'
AceLineCommentAdaptor = require 'ace-line-comment-adaptor'
module.exports =
class LineCommenter
@@ -9,9 +10,8 @@ class LineCommenter
constructor: (@highlighter) ->
@buffer = @highlighter.buffer
@aceMode = @buffer.getMode()
@adaptor = new AceLineCommentAdaptor(@buffer)
toggleLineCommentsInRange: (range) ->
range = Range.fromObject(range)
@aceMode.tog
@aceMode.toggleCommentLines(@highlighter.stateForRow(range.start.row), @adaptor, range.start.row, range.end.row)

View File

@@ -6,9 +6,10 @@ class Range
@fromObject: (object) ->
if _.isArray(object)
new Range(object...)
else
else if object instanceof Range
object
else
new Range(object.start, object.end)
constructor: (pointA = new Point(0, 0), pointB = new Point(0, 0)) ->
pointA = Point.fromObject(pointA)