mirror of
https://github.com/atom/atom.git
synced 2026-04-06 03:02:13 -04:00
Merge remote-tracking branch 'origin/master' into making-things-easy
This commit is contained in:
@@ -168,7 +168,10 @@ class Buffer
|
||||
startPoint = null
|
||||
endPoint = null
|
||||
if end == @getLastRow()
|
||||
startPoint = [start - 1, @lineLengthForRow(start - 1)]
|
||||
if start > 0
|
||||
startPoint = [start - 1, @lineLengthForRow(start - 1)]
|
||||
else
|
||||
startPoint = [start, 0]
|
||||
endPoint = [end, @lineLengthForRow(end)]
|
||||
else
|
||||
startPoint = [start, 0]
|
||||
|
||||
@@ -7,3 +7,4 @@ window.keymap.bindKeys '*'
|
||||
up: 'move-up'
|
||||
pagedown: 'page-down'
|
||||
pageup: 'page-up'
|
||||
'meta-S' : 'save-all'
|
||||
|
||||
@@ -22,9 +22,10 @@ class RootView extends View
|
||||
@div id: 'vertical', outlet: 'vertical', =>
|
||||
@div id: 'panes', outlet: 'panes'
|
||||
|
||||
@deserialize: ({ projectPath, panesViewState, extensionStates }) ->
|
||||
@deserialize: ({ projectPath, panesViewState, extensionStates, fontSize }) ->
|
||||
rootView = new RootView(projectPath, extensionStates: extensionStates, suppressOpen: true)
|
||||
rootView.setRootPane(rootView.deserializeView(panesViewState)) if panesViewState
|
||||
rootView.setFontSize(fontSize) if fontSize > 0
|
||||
rootView
|
||||
|
||||
extensions: null
|
||||
@@ -47,6 +48,7 @@ class RootView extends View
|
||||
projectPath: @project?.getPath()
|
||||
panesViewState: @panes.children().view()?.serialize()
|
||||
extensionStates: @serializeExtensions()
|
||||
fontSize: @getFontSize()
|
||||
|
||||
handleEvents: ->
|
||||
@on 'toggle-dev-tools', => atom.toggleDevTools()
|
||||
@@ -64,6 +66,7 @@ class RootView extends View
|
||||
@on 'increase-font-size', => @setFontSize(@getFontSize() + 1)
|
||||
@on 'decrease-font-size', => @setFontSize(@getFontSize() - 1)
|
||||
@on 'focus-next-pane', => @focusNextPane()
|
||||
@on 'save-all', => @saveAll()
|
||||
|
||||
afterAttach: (onDom) ->
|
||||
@focus() if onDom
|
||||
@@ -217,3 +220,5 @@ class RootView extends View
|
||||
catch error
|
||||
console.error "Failed to load `#{atom.configFilePath}`", error.stack, error
|
||||
|
||||
saveAll: ->
|
||||
editor.save() for editor in @getEditors()
|
||||
|
||||
@@ -183,12 +183,17 @@ class Selection
|
||||
|
||||
deleteLine: ->
|
||||
if @isEmpty()
|
||||
@editSession.buffer.deleteRow(@cursor.getBufferPosition().row)
|
||||
start = @cursor.getScreenRow()
|
||||
range = @editSession.bufferRowsForScreenRows(start, start + 1)
|
||||
if range[1]
|
||||
@editSession.buffer.deleteRows(range[0], range[1] - 1)
|
||||
else
|
||||
@editSession.buffer.deleteRow(range[0])
|
||||
else
|
||||
bufferRange = @getBufferRange()
|
||||
start = bufferRange.start.row
|
||||
end = bufferRange.end.row
|
||||
if end isnt @editSession.buffer.getLastRow() and bufferRange.end.column is 0
|
||||
range = @getBufferRange()
|
||||
start = range.start.row
|
||||
end = range.end.row
|
||||
if end isnt @editSession.buffer.getLastRow() and range.end.column is 0
|
||||
end--
|
||||
@editSession.buffer.deleteRows(start, end)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user