Commit Graph

1169 Commits

Author SHA1 Message Date
Nathan Sobo
cbeb351de4 Restore selections after undo
This only restores changes made via the CompositeSelection… this makes sense because this is the only way to make changes interactively. Any other changes are made via the api or a command line and should not modify selections when they are undone. Still need to test restoration after redo.
2012-04-04 18:04:32 -06:00
Nathan Sobo
5def158584 UndoManager's batch methods take optional arrays of ranges for restoring the selection 2012-04-04 17:07:52 -06:00
Corey Johnson & Nathan Sobo
48b4008cab Changes made with multiple cursors are undone/redone in parallel 2012-04-04 14:21:03 -06:00
Corey Johnson
6ad50b379f Make it more obvious that Editor's scroll methods take pixelPositions 2012-04-04 11:19:17 -07:00
Corey Johnson
2e9bef04a9 A buffer with no path sets document.title to 'untitled' 2012-04-04 11:10:20 -07:00
Nathan Sobo
8d05802290 Redesign commands around multiple selections
Every command returns an array of buffer ranges to select from its execute method. The composite command loops through each current selection with each command, then sets the new selection to the aggregated buffer ranges returned by all commands at that step.
2012-04-04 12:09:33 -06:00
Nathan Sobo
4abf41e173 Merge branch 'master' of github.com:github/atom 2012-04-04 11:09:55 -06:00
Nathan Sobo
92cc23a9bb Substitutions work with multiple selections
The `execute` method on commands now has a second range parameter. The composite command loops through all selected ranges and calls execute on each subcommand for each range. Still need to update the `.` address to work with the new scheme.
2012-04-04 11:09:30 -06:00
Corey Johnson
6dc4d9bb05 Don't let atom spec bind default keys again 2012-04-03 17:21:13 -07:00
Corey Johnson
2465372bd4 Multi-cursor scrolling is based on the last created cursor 2012-04-03 16:34:21 -07:00
Corey Johnson
d016cc27d3 Move autoScrolling methods from cursor to editor
Scroll methods are now Editor.scrollTo(), Editor.scrollHorizontally() and Editor.scrollVertically()

Editor.scrollTo() can only be called once per runloop
2012-04-03 16:12:04 -07:00
Corey Johnson
bd20d34132 Only one visible cursor causes the editor to scroll 2012-04-03 15:46:28 -07:00
Corey Johnson
a372a2b411 Add Editor.bounds() and Editor.screenPositionInBounds() 2012-04-03 15:36:25 -07:00
Nathan Sobo
846846abe8 Keymap normalizes key patterns so modifier keys can be listed in a random order. 2012-04-03 15:51:53 -06:00
Nathan Sobo
68bd79f8c2 Max line length is preserved when a new buffer is assigned to an editor. 2012-04-03 15:33:27 -06:00
Nathan Sobo
fb915f9c1c 💄 2012-04-03 15:24:11 -06:00
Nathan Sobo
3a8c444e1f Merge branch 'master' of github.com:github/atom 2012-04-03 15:01:34 -06:00
Nathan Sobo
d521dab2cf Horizontal scrollbar is always visible, and clicking scrollbars doesn't move cursor.
The editor is divided into gutter and scroller. The gutter is scrolled to the correct vertical position whenever the lines are scrolled inside of scroller.
2012-04-03 15:01:28 -06:00
Corey Johnson
1efb712fd3 Rename App.coffee to Atom.coffee. This also required moving src/atom,spec/atom to src/app,spec/app 2012-04-03 10:33:24 -07:00
Nathan Sobo
f35344d4a3 💄 2012-04-03 11:33:02 -06:00
Nathan Sobo
c5004b71b1 Selections are only cleared when cursor is explicitly moved
This allows multiple selections to be modified without changes to an earlier selection clearing later selections. It means we can remove the `modifySelections` method from `CompositeSelection` and just call methods on selections in a loop.
2012-04-03 11:27:49 -06:00
Corey Johnson
b4cfd7fc85 Selection and Cursor use Anchor to hold their buffer and screen positions 2012-04-03 08:58:25 -07:00
Corey Johnson
bf5ebc9969 💄
xxwip
2012-04-03 08:58:22 -07:00
Corey Johnson
7dae03de0d :lipstick 2012-04-02 14:26:43 -07:00
Corey Johnson
a75441b809 Remove unused methods 2012-04-02 14:13:25 -07:00
Corey Johnson
9a8475b8e3 Rename CompositeCursor.modifyCursors to moveCursors 2012-04-02 13:28:02 -07:00
Corey Johnson
edbd378879 All keybindings are stored in the src/keybindings folder now 2012-04-02 08:57:08 -07:00
Corey Johnson
23fae4c919 Rename mentions of url to path 2012-03-30 15:52:19 -07:00
Corey Johnson
3b048c69a8 💄 2012-03-30 15:40:55 -07:00
Corey Johnson
230f40bf3e Window title is set to active editor's buffer path. 2012-03-30 15:15:20 -07:00
Corey Johnson
abb585fbf6 Editor emits buffer-changed-event 2012-03-30 15:14:59 -07:00
Corey Johnson
001d866bec Event names are present tense, so buffer emits 'path-change' 2012-03-30 11:26:34 -07:00
Corey Johnson
90242a787f Use Buffer.getPath and Buffer.setPath(path) 2012-03-30 11:20:17 -07:00
Corey Johnson
551f09dce6 Buffer emits a 'path-changed' event when its path changes 2012-03-30 11:13:58 -07:00
Corey Johnson
dc7edc22cf Loading root view with no url opens an empty buffer 2012-03-30 09:42:02 -07:00
Corey Johnson
629517af9e 💄 2012-03-30 09:41:28 -07:00
Nathan Sobo
b9cec3cd94 Editor handles delete-to-end-of-word, plus alt-d and alt-delete bindings for it 2012-03-29 15:32:37 -07:00
Nathan Sobo
fc76bed81e x/$/ places cursors at end of lines in current selection
Editor addSelectionForBufferRange no longer attempts to recycle an existing empty selection, because this was interfering with x selecting zero-width matches. It always adds a new selection, and tools must take care to use it correctly.
2012-03-29 11:46:56 -07:00
Nathan Sobo
9ba88959bb Add alt-backspace and alt-h bindings to backspace to beginning of word 2012-03-29 11:34:41 -07:00
Nathan Sobo
722b685b2e Editor handles backspace-to-beginning-of-word 2012-03-29 11:33:15 -07:00
Nathan Sobo
e56ced8f3b Merge branch 'master' of github.com:github/atom 2012-03-29 11:12:23 -07:00
Corey Johnson
d739ebddbc Add tests to traverseRegexMatchesInRange 2012-03-29 11:01:26 -07:00
Corey Johnson & Nathan Sobo
51c4e012df Hack in fix for apple keybindings.
The real problem is that they keybinding match algorithm is wrong.
2012-03-29 10:00:19 -07:00
Corey Johnson & Nathan Sobo
90ebbe80e6 Add select-to-end-of-word and select-to-beginning-of-word 2012-03-29 09:53:18 -07:00
Nathan Sobo
b053f42880 Merge branch 'master' of github.com:github/atom 2012-03-28 18:08:14 -07:00
Nathan Sobo
a27b54b21b Up/down in command panel navigates command history. 2012-03-28 18:08:00 -07:00
Corey Johnson & Nathan Sobo
88c4705f8a Add move-to-end-of-word and move-to-beginning-of-word.
Buffer.traverseRegexMatchesInRange matches text that at end of range, even if the match could have exceeded end of the range.
2012-03-28 17:39:03 -07:00
Nathan Sobo
a4c25dc678 Flash red when entering a malformed command in the command panel 2012-03-28 16:11:44 -07:00
Nathan Sobo
e0ed462c6e Merge branch 'master' of github.com:github/atom 2012-03-28 15:42:29 -07:00
Nathan Sobo
7ea3b2d75d Regex searches wrap around to the beginning of the buffer 2012-03-28 15:42:09 -07:00