WIP: Starting on toggling comments.

This commit is contained in:
Nathan Sobo
2012-06-01 11:52:40 -06:00
parent 58c082445b
commit d8b324e14f
2 changed files with 35 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
Buffer = require 'buffer'
Highlighter = require 'highlighter'
LineCommenter = require 'line-commenter'
describe "LineCommenter", ->
[buffer, lineCommenter] = []
beforeEach ->
buffer = new Buffer(require.resolve('fixtures/sample.js'))
highlighter = new Highlighter(buffer)
lineCommenter = new LineCommenter(highlighter)
fdescribe "toggleLineCommentsInRange", ->
lineCommenter.toggleLineCommentsInRange([[4, 5], [7, 8]])
expect(buffer.lineForRow(4)).toBe "// while(items.length > 0) {"
expect(buffer.lineForRow(5)).toBe "// current = items.shift();"
expect(buffer.lineForRow(6)).toBe "// current < pivot ? left.push(current) : right.push(current);"
expect(buffer.lineForRow(7)).toBe "// }"

View File

@@ -0,0 +1,17 @@
Range = require 'range'
module.exports =
class LineCommenter
highlighter: null
buffer: null
aceMode: null
constructor: (@highlighter) ->
@buffer = @highlighter.buffer
@aceMode = @buffer.getMode()
toggleLineCommentsInRange: (range) ->
range = Range.fromObject(range)
@aceMode.tog