Rename App.coffee to Atom.coffee. This also required moving src/atom,spec/atom to src/app,spec/app

This commit is contained in:
Corey Johnson
2012-04-03 10:33:08 -07:00
parent e0274c293f
commit 1efb712fd3
73 changed files with 15 additions and 14 deletions

View File

@@ -0,0 +1,12 @@
Address = require 'command-interpreter/address'
Range = require 'range'
module.exports =
class AddressRange extends Address
constructor: (@startAddress, @endAddress) ->
getRange: (editor) ->
new Range(@startAddress.getRange(editor).start, @endAddress.getRange(editor).end)
isRelative: ->
@startAddress.isRelative() or @endAddress.isRelative()

View File

@@ -0,0 +1,10 @@
Command = require 'command-interpreter/command'
module.exports =
class Address extends Command
execute: (editor) ->
range = @getRange(editor)
editor.clearSelections()
editor.setSelectionBufferRange(range)
isAddress: -> true

View File

@@ -0,0 +1,5 @@
_ = require 'underscore'
module.exports =
class Command
isAddress: -> false

View File

@@ -0,0 +1,12 @@
_ = require 'underscore'
module.exports =
class CompositeCommand
constructor: (@subcommands) ->
execute: (editor) ->
command.execute(editor) for command in @subcommands
isRelativeAddress: ->
_.all(@subcommands, (command) -> command.isAddress() and command.isRelative())

View File

@@ -0,0 +1,9 @@
Address = require 'command-interpreter/address'
Range = require 'range'
module.exports =
class CurrentSelectionAddress extends Address
getRange: (editor) ->
editor.getSelection().getBufferRange()
isRelative: -> true

View File

@@ -0,0 +1,11 @@
Address = require 'command-interpreter/address'
Range = require 'range'
module.exports =
class EofAddress extends Address
getRange: (editor) ->
lastRow = editor.getLastBufferRow()
column = editor.lineLengthForBufferRow(lastRow)
new Range([lastRow, column], [lastRow, column])
isRelative: -> false

View File

@@ -0,0 +1,12 @@
Address = require 'command-interpreter/address'
Range = require 'range'
module.exports =
class LineAddress extends Address
constructor: (lineNumber) ->
@row = lineNumber - 1
getRange: ->
new Range([@row, 0], [@row + 1, 0])
isRelative: -> false

View File

@@ -0,0 +1,28 @@
Address = require 'command-interpreter/address'
Range = require 'range'
module.exports =
class RegexAddress extends Address
regex: null
constructor: (pattern) ->
@regex = new RegExp(pattern)
getRange: (editor) ->
selectedRange = editor.getLastSelectionInBuffer().getBufferRange()
rangeToSearch = new Range(selectedRange.end, editor.getEofPosition())
rangeToReturn = null
editor.buffer.traverseRegexMatchesInRange @regex, rangeToSearch, (match, range) ->
rangeToReturn = range
if rangeToReturn
rangeToReturn
else
rangeToSearch = new Range([0, 0], rangeToSearch.start)
editor.buffer.traverseRegexMatchesInRange @regex, rangeToSearch, (match, range) ->
rangeToReturn = range
rangeToReturn or selectedRange
isRelative: -> true

View File

@@ -0,0 +1,19 @@
Command = require 'command-interpreter/command'
Range = require 'range'
module.exports =
class SelectAllMatches extends Command
regex: null
constructor: (pattern) ->
@regex = new RegExp(pattern, 'g')
execute: (editor) ->
rangesToSelect = []
for selection in editor.getSelections()
editor.buffer.traverseRegexMatchesInRange @regex, selection.getBufferRange(), (match, range) ->
rangesToSelect.push(range)
editor.clearSelections()
editor.setSelectionBufferRange(rangesToSelect[0])
editor.addSelectionForBufferRange(range) for range in rangesToSelect[1..]

View File

@@ -0,0 +1,16 @@
Command = require 'command-interpreter/command'
module.exports =
class Substitution extends Command
regex: null
replacementText: null
constructor: (pattern, replacementText, options) ->
@replacementText = replacementText
@regex = new RegExp(pattern, options.join(''))
execute: (editor) ->
range = editor.getSelection().getBufferRange()
editor.buffer.traverseRegexMatchesInRange @regex, range, (match, matchRange, { replace }) =>
replace(@replacementText)