Merge pull request #6 from abe33/cn-move-lines-up-and-down-with-multiple-selections

Move lines up and down with multiple selections
This commit is contained in:
Luke Pommersheim
2015-11-06 11:19:20 +01:00
6 changed files with 19 additions and 12 deletions

View File

@@ -27,7 +27,7 @@
"grunt-peg": "~1.1.0",
"grunt-shell": "~0.3.1",
"grunt-standard": "^1.0.2",
"legal-eagle": "~0.11.0",
"legal-eagle": "~0.12.0",
"minidump": "~0.9",
"npm": "2.13.3",
"rcedit": "~0.3.0",

View File

@@ -123,7 +123,7 @@
"language-css": "0.35.0",
"language-gfm": "0.81.0",
"language-git": "0.10.0",
"language-go": "0.39.0",
"language-go": "0.40.0",
"language-html": "0.42.0",
"language-hyperlink": "0.15.0",
"language-java": "0.16.1",
@@ -138,9 +138,9 @@
"language-property-list": "0.8.0",
"language-python": "0.41.0",
"language-ruby": "0.60.0",
"language-ruby-on-rails": "0.23.0",
"language-ruby-on-rails": "0.24.0",
"language-sass": "0.42.1",
"language-shellscript": "0.19.0",
"language-shellscript": "0.20.0",
"language-source": "0.9.0",
"language-sql": "0.19.0",
"language-text": "0.7.0",

View File

@@ -38,6 +38,7 @@ describe "PackageManager", ->
expect(-> pack.reloadStylesheets()).not.toThrow()
expect(addErrorHandler.callCount).toBe 2
expect(addErrorHandler.argsForCall[1][0].message).toContain("Failed to reload the package-with-invalid-styles package stylesheets")
expect(addErrorHandler.argsForCall[1][0].options.packageName).toEqual "package-with-invalid-styles"
it "returns null if the package has an invalid package.json", ->
addErrorHandler = jasmine.createSpy()
@@ -45,6 +46,7 @@ describe "PackageManager", ->
expect(atom.packages.loadPackage("package-with-broken-package-json")).toBeNull()
expect(addErrorHandler.callCount).toBe 1
expect(addErrorHandler.argsForCall[0][0].message).toContain("Failed to load the package-with-broken-package-json package")
expect(addErrorHandler.argsForCall[0][0].options.packageName).toEqual "package-with-broken-package-json"
it "normalizes short repository urls in package.json", ->
{metadata} = atom.packages.loadPackage("package-with-short-url-package-json")
@@ -230,6 +232,7 @@ describe "PackageManager", ->
expect(-> atom.packages.activatePackage('package-with-invalid-activation-commands')).not.toThrow()
expect(addErrorHandler.callCount).toBe 1
expect(addErrorHandler.argsForCall[0][0].message).toContain("Failed to activate the package-with-invalid-activation-commands package")
expect(addErrorHandler.argsForCall[0][0].options.packageName).toEqual "package-with-invalid-activation-commands"
it "adds a notification when the context menu is invalid", ->
addErrorHandler = jasmine.createSpy()
@@ -237,6 +240,7 @@ describe "PackageManager", ->
expect(-> atom.packages.activatePackage('package-with-invalid-context-menu')).not.toThrow()
expect(addErrorHandler.callCount).toBe 1
expect(addErrorHandler.argsForCall[0][0].message).toContain("Failed to activate the package-with-invalid-context-menu package")
expect(addErrorHandler.argsForCall[0][0].options.packageName).toEqual "package-with-invalid-context-menu"
it "adds a notification when the grammar is invalid", ->
addErrorHandler = jasmine.createSpy()
@@ -250,6 +254,7 @@ describe "PackageManager", ->
runs ->
expect(addErrorHandler.callCount).toBe 1
expect(addErrorHandler.argsForCall[0][0].message).toContain("Failed to load a package-with-invalid-grammar package grammar")
expect(addErrorHandler.argsForCall[0][0].options.packageName).toEqual "package-with-invalid-grammar"
it "adds a notification when the settings are invalid", ->
addErrorHandler = jasmine.createSpy()
@@ -263,6 +268,7 @@ describe "PackageManager", ->
runs ->
expect(addErrorHandler.callCount).toBe 1
expect(addErrorHandler.argsForCall[0][0].message).toContain("Failed to load the package-with-invalid-settings package settings")
expect(addErrorHandler.argsForCall[0][0].options.packageName).toEqual "package-with-invalid-settings"
describe "when the package metadata includes `activationHooks`", ->
[mainModule, promise] = []
@@ -351,6 +357,7 @@ describe "PackageManager", ->
expect(-> atom.packages.activatePackage("package-that-throws-an-exception")).not.toThrow()
expect(addErrorHandler.callCount).toBe 1
expect(addErrorHandler.argsForCall[0][0].message).toContain("Failed to load the package-that-throws-an-exception package")
expect(addErrorHandler.argsForCall[0][0].options.packageName).toEqual "package-that-throws-an-exception"
describe "when the package is not found", ->
it "rejects the promise", ->

View File

@@ -467,7 +467,7 @@ class PackageManager
detail = "#{error.message} in #{metadataPath}"
stack = "#{error.stack}\n at #{metadataPath}:1:1"
message = "Failed to load the #{path.basename(packagePath)} package"
@notificationManager.addError(message, {stack, detail, dismissable: true})
@notificationManager.addError(message, {stack, detail, packageName: path.basename(packagePath), dismissable: true})
uninstallDirectory: (directory) ->
symlinkPromise = new Promise (resolve) ->

View File

@@ -293,7 +293,7 @@ class Package
if error?
detail = "#{error.message} in #{grammarPath}"
stack = "#{error.stack}\n at #{grammarPath}:1:1"
@notificationManager.addFatalError("Failed to load a #{@name} package grammar", {stack, detail, dismissable: true})
@notificationManager.addFatalError("Failed to load a #{@name} package grammar", {stack, detail, packageName: @name, dismissable: true})
else
grammar.packageName = @name
grammar.bundledPackage = @bundledPackage
@@ -317,7 +317,7 @@ class Package
if error?
detail = "#{error.message} in #{settingsPath}"
stack = "#{error.stack}\n at #{settingsPath}:1:1"
@notificationManager.addFatalError("Failed to load the #{@name} package settings", {stack, detail, dismissable: true})
@notificationManager.addFatalError("Failed to load the #{@name} package settings", {stack, detail, packageName: @name, dismissable: true})
else
@settings.push(settings)
settings.activate() if @settingsActivated
@@ -634,4 +634,4 @@ class Package
detail = error.message
stack = error.stack ? error
@notificationManager.addFatalError(message, {stack, detail, dismissable: true})
@notificationManager.addFatalError(message, {stack, detail, packageName: @name, dismissable: true})

View File

@@ -866,8 +866,8 @@ class TextEditor extends Model
@transact groupingInterval, =>
fn(selection, index) for selection, index in @getSelectionsOrderedByBufferPosition()
# Move lines intersection the most recent selection or multiple selections up by one row in screen
# coordinates.
# Move lines intersecting the most recent selection or multiple selections
# up by one row in screen coordinates.
moveLineUp: ->
selections = @getSelectedBufferRanges()
selections.sort (a, b) -> a.compare(b)
@@ -951,8 +951,8 @@ class TextEditor extends Model
@autoIndentSelectedRows() if @shouldAutoIndent()
@scrollToBufferPosition([newSelectionRanges[0].start.row, 0])
# Move lines intersecting the most recent selection or muiltiple selections down by one row in screen
# coordinates.
# Move lines intersecting the most recent selection or muiltiple selections
# down by one row in screen coordinates.
moveLineDown: ->
selections = @getSelectedBufferRanges()
selections.sort (a, b) -> a.compare(b)