mirror of
https://github.com/atom/atom.git
synced 2026-02-18 02:21:43 -05:00
WIP: Starting on toggling comments.
This commit is contained in:
18
spec/app/line-commenter-spec.coffee
Normal file
18
spec/app/line-commenter-spec.coffee
Normal 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 "// }"
|
||||
17
src/app/line-commenter.coffee
Normal file
17
src/app/line-commenter.coffee
Normal 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
|
||||
|
||||
Reference in New Issue
Block a user