mirror of
https://github.com/atom/atom.git
synced 2026-04-06 03:02:13 -04:00
Merge branch 'master' into as-double-reflow-measurements
This commit is contained in:
@@ -22,12 +22,12 @@
|
||||
"grunt-contrib-less": "~0.8.0",
|
||||
"grunt-cson": "0.16.0",
|
||||
"grunt-download-electron": "^2.1.1",
|
||||
"grunt-electron-installer": "1.0.4",
|
||||
"grunt-electron-installer": "1.0.5",
|
||||
"grunt-lesslint": "0.17.0",
|
||||
"grunt-peg": "~1.1.0",
|
||||
"grunt-shell": "~0.3.1",
|
||||
"grunt-standard": "^1.0.2",
|
||||
"legal-eagle": "~0.10.0",
|
||||
"legal-eagle": "~0.11.0",
|
||||
"minidump": "~0.9",
|
||||
"npm": "2.13.3",
|
||||
"rcedit": "~0.3.0",
|
||||
|
||||
@@ -6,6 +6,7 @@ async = require 'async'
|
||||
fs = require 'fs-plus'
|
||||
GitHub = require 'github-releases'
|
||||
request = require 'request'
|
||||
{convertVersion} = require 'grunt-electron-installer'
|
||||
|
||||
grunt = null
|
||||
|
||||
@@ -76,12 +77,8 @@ getAssets = ->
|
||||
{assetName: 'atom-api.json', sourcePath: 'atom-api.json'}
|
||||
]
|
||||
when 'win32'
|
||||
nupkgVersion = convertVersion(version)
|
||||
assets = [{assetName: 'atom-windows.zip', sourcePath: 'Atom'}]
|
||||
|
||||
# NuGet packages can't have dots in their pre-release name, so we remove
|
||||
# those dots in `grunt-electron-installer` when generating the package.
|
||||
nupkgVersion = version.replace(/\.(\d+)$/, '$1')
|
||||
|
||||
for squirrelAsset in ['AtomSetup.exe', 'RELEASES', "atom-#{nupkgVersion}-full.nupkg", "atom-#{nupkgVersion}-delta.nupkg"]
|
||||
cp path.join(buildDir, 'installer', squirrelAsset), path.join(buildDir, squirrelAsset)
|
||||
assets.push({assetName: squirrelAsset, sourcePath: assetName})
|
||||
|
||||
12
package.json
12
package.json
@@ -73,7 +73,7 @@
|
||||
"autocomplete-atom-api": "0.9.2",
|
||||
"autocomplete-css": "0.11.0",
|
||||
"autocomplete-html": "0.7.2",
|
||||
"autocomplete-plus": "2.21.0",
|
||||
"autocomplete-plus": "2.22.0",
|
||||
"autocomplete-snippets": "1.7.1",
|
||||
"autoflow": "0.25.0",
|
||||
"autosave": "0.22.0",
|
||||
@@ -101,7 +101,7 @@
|
||||
"open-on-github": "0.38.0",
|
||||
"package-generator": "0.40.0",
|
||||
"release-notes": "0.53.0",
|
||||
"settings-view": "0.224.0",
|
||||
"settings-view": "0.225.0",
|
||||
"snippets": "0.100.0",
|
||||
"spell-check": "0.61.0",
|
||||
"status-bar": "0.79.0",
|
||||
@@ -117,7 +117,7 @@
|
||||
"language-c": "0.48.0",
|
||||
"language-clojure": "0.17.0",
|
||||
"language-coffee-script": "0.42.0",
|
||||
"language-csharp": "0.10.0",
|
||||
"language-csharp": "0.11.0",
|
||||
"language-css": "0.34.0",
|
||||
"language-gfm": "0.81.0",
|
||||
"language-git": "0.10.0",
|
||||
@@ -128,10 +128,10 @@
|
||||
"language-javascript": "0.96.0",
|
||||
"language-json": "0.17.0",
|
||||
"language-less": "0.28.2",
|
||||
"language-make": "0.18.0",
|
||||
"language-make": "0.19.0",
|
||||
"language-mustache": "0.13.0",
|
||||
"language-objective-c": "0.15.0",
|
||||
"language-perl": "0.29.0",
|
||||
"language-perl": "0.30.0",
|
||||
"language-php": "0.30.0",
|
||||
"language-property-list": "0.8.0",
|
||||
"language-python": "0.40.0",
|
||||
@@ -144,7 +144,7 @@
|
||||
"language-text": "0.7.0",
|
||||
"language-todo": "0.27.0",
|
||||
"language-toml": "0.16.0",
|
||||
"language-xml": "0.32.0",
|
||||
"language-xml": "0.33.0",
|
||||
"language-yaml": "0.24.0"
|
||||
},
|
||||
"private": true,
|
||||
|
||||
@@ -43,6 +43,5 @@ for arg in "$@"; do
|
||||
done
|
||||
|
||||
echo "Launching Atom" >&2
|
||||
echo ${atom_path} ${atom_args[@]} ${atom_switches[@]} >&2
|
||||
|
||||
exec ${atom_path} ${atom_args[@]} ${atom_switches[@]}
|
||||
echo "${atom_path}" ${atom_args[@]} ${atom_switches[@]} >&2
|
||||
exec "${atom_path}" ${atom_args[@]} ${atom_switches[@]}
|
||||
|
||||
@@ -103,7 +103,7 @@ describe "Pane", ->
|
||||
|
||||
item = new Item("C")
|
||||
pane.addItem(item, 1)
|
||||
expect(events).toEqual [{item, index: 1}]
|
||||
expect(events).toEqual [{item, index: 1, moved: false}]
|
||||
|
||||
it "throws an exception if the item is already present on a pane", ->
|
||||
item = new Item("A")
|
||||
@@ -223,13 +223,13 @@ describe "Pane", ->
|
||||
events = []
|
||||
pane.onWillRemoveItem (event) -> events.push(event)
|
||||
pane.destroyItem(item2)
|
||||
expect(events).toEqual [{item: item2, index: 1, destroyed: true}]
|
||||
expect(events).toEqual [{item: item2, index: 1, moved: false, destroyed: true}]
|
||||
|
||||
it "invokes ::onDidRemoveItem() observers", ->
|
||||
events = []
|
||||
pane.onDidRemoveItem (event) -> events.push(event)
|
||||
pane.destroyItem(item2)
|
||||
expect(events).toEqual [{item: item2, index: 1, destroyed: true}]
|
||||
expect(events).toEqual [{item: item2, index: 1, moved: false, destroyed: true}]
|
||||
|
||||
describe "when the destroyed item is the active item and is the first item", ->
|
||||
it "activates the next item", ->
|
||||
@@ -517,14 +517,20 @@ describe "Pane", ->
|
||||
pane1.onWillRemoveItem (event) -> events.push(event)
|
||||
pane1.moveItemToPane(item2, pane2, 1)
|
||||
|
||||
expect(events).toEqual [{item: item2, index: 1, destroyed: false}]
|
||||
expect(events).toEqual [{item: item2, index: 1, moved: true, destroyed: false}]
|
||||
|
||||
it "invokes ::onDidRemoveItem() observers", ->
|
||||
events = []
|
||||
pane1.onDidRemoveItem (event) -> events.push(event)
|
||||
pane1.moveItemToPane(item2, pane2, 1)
|
||||
|
||||
expect(events).toEqual [{item: item2, index: 1, destroyed: false}]
|
||||
expect(events).toEqual [{item: item2, index: 1, moved: true, destroyed: false}]
|
||||
|
||||
it "does not invoke ::onDidAddPaneItem observers on the container", ->
|
||||
addedItems = []
|
||||
container.onDidAddPaneItem (item) -> addedItems.push(item)
|
||||
pane1.moveItemToPane(item2, pane2, 1)
|
||||
expect(addedItems).toEqual []
|
||||
|
||||
describe "when the moved item the last item in the source pane", ->
|
||||
beforeEach ->
|
||||
|
||||
@@ -210,11 +210,11 @@ class PaneContainer extends Model
|
||||
for item, index in pane.getItems()
|
||||
@addedPaneItem(item, pane, index)
|
||||
|
||||
pane.onDidAddItem ({item, index}) =>
|
||||
@addedPaneItem(item, pane, index)
|
||||
pane.onDidAddItem ({item, index, moved}) =>
|
||||
@addedPaneItem(item, pane, index) unless moved
|
||||
|
||||
pane.onDidRemoveItem ({item}) =>
|
||||
@removedPaneItem(item)
|
||||
pane.onDidRemoveItem ({item, moved}) =>
|
||||
@removedPaneItem(item) unless moved
|
||||
|
||||
addedPaneItem: (item, pane, index) ->
|
||||
@itemRegistry.addItem(item)
|
||||
|
||||
@@ -339,7 +339,7 @@ class Pane extends Model
|
||||
# the pane's view.
|
||||
activateItem: (item) ->
|
||||
if item?
|
||||
@addItem(item)
|
||||
@addItem(item, @getActiveItemIndex() + 1, false)
|
||||
@setActiveItem(item)
|
||||
|
||||
# Public: Add the given item to the pane.
|
||||
@@ -350,17 +350,17 @@ class Pane extends Model
|
||||
# If omitted, the item is added after the current active item.
|
||||
#
|
||||
# Returns the added item.
|
||||
addItem: (item, index=@getActiveItemIndex() + 1) ->
|
||||
addItem: (item, index=@getActiveItemIndex() + 1, moved=false) ->
|
||||
throw new Error("Pane items must be objects. Attempted to add item #{item}.") unless item? and typeof item is 'object'
|
||||
throw new Error("Adding a pane item with URI '#{item.getURI?()}' that has already been destroyed") if item.isDestroyed?()
|
||||
|
||||
return if item in @items
|
||||
|
||||
if typeof item.onDidDestroy is 'function'
|
||||
@itemSubscriptions.set item, item.onDidDestroy => @removeItem(item, true)
|
||||
@itemSubscriptions.set item, item.onDidDestroy => @removeItem(item, false)
|
||||
|
||||
@items.splice(index, 0, item)
|
||||
@emitter.emit 'did-add-item', {item, index}
|
||||
@emitter.emit 'did-add-item', {item, index, moved}
|
||||
@setActiveItem(item) unless @getActiveItem()?
|
||||
item
|
||||
|
||||
@@ -375,14 +375,14 @@ class Pane extends Model
|
||||
# Returns an {Array} of added items.
|
||||
addItems: (items, index=@getActiveItemIndex() + 1) ->
|
||||
items = items.filter (item) => not (item in @items)
|
||||
@addItem(item, index + i) for item, i in items
|
||||
@addItem(item, index + i, false) for item, i in items
|
||||
items
|
||||
|
||||
removeItem: (item, destroyed=false) ->
|
||||
removeItem: (item, moved) ->
|
||||
index = @items.indexOf(item)
|
||||
return if index is -1
|
||||
|
||||
@emitter.emit 'will-remove-item', {item, index, destroyed}
|
||||
@emitter.emit 'will-remove-item', {item, index, destroyed: not moved, moved}
|
||||
@unsubscribeFromItem(item)
|
||||
|
||||
if item is @activeItem
|
||||
@@ -393,8 +393,8 @@ class Pane extends Model
|
||||
else
|
||||
@activatePreviousItem()
|
||||
@items.splice(index, 1)
|
||||
@emitter.emit 'did-remove-item', {item, index, destroyed}
|
||||
@container?.didDestroyPaneItem({item, index, pane: this}) if destroyed
|
||||
@emitter.emit 'did-remove-item', {item, index, destroyed: not moved, moved}
|
||||
@container?.didDestroyPaneItem({item, index, pane: this}) unless moved
|
||||
@destroy() if @items.length is 0 and atom.config.get('core.destroyEmptyPanes')
|
||||
|
||||
# Public: Move the given item to the given index.
|
||||
@@ -414,8 +414,8 @@ class Pane extends Model
|
||||
# * `index` {Number} indicating the index to which to move the item in the
|
||||
# given pane.
|
||||
moveItemToPane: (item, pane, index) ->
|
||||
@removeItem(item)
|
||||
pane.addItem(item, index)
|
||||
@removeItem(item, true)
|
||||
pane.addItem(item, index, true)
|
||||
|
||||
# Public: Destroy the active item and activate the next item.
|
||||
destroyActiveItem: ->
|
||||
@@ -435,7 +435,7 @@ class Pane extends Model
|
||||
@emitter.emit 'will-destroy-item', {item, index}
|
||||
@container?.willDestroyPaneItem({item, index, pane: this})
|
||||
if @promptToSaveItem(item)
|
||||
@removeItem(item, true)
|
||||
@removeItem(item, false)
|
||||
item.destroy?()
|
||||
true
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user