Commit Graph

634 Commits

Author SHA1 Message Date
Nathan Sobo
158315ffaa Always place cursor at end of selection after inserting text 2012-04-05 17:22:16 -06:00
Corey Johnson & Nathan Sobo
84ba78c55d Tab characters render as atomic tokens containing spaces 2012-04-05 15:22:57 -06:00
Corey Johnson & Nathan Sobo
4550f017c3 add fixture file with tabs 2012-04-05 13:13:32 -07:00
Nathan Sobo
77366b5497 Remove unused editor bounds methods 2012-04-05 09:38:50 -06:00
Nathan Sobo
845bc8fde4 Merge branch 'master' of github.com:github/atom 2012-04-04 18:27:40 -06:00
Nathan Sobo
1b848307d4 Restore selections on redo 2012-04-04 18:27:34 -06:00
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
2489e19bb7 CompositeCursor.addCursor takes an optional screenPosition argument 2012-04-04 14:08:30 -07: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
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
abff6cf387 Add spec for global substitution in multiple selections 2012-04-04 11:22:49 -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
37a9d88b48 Spec helper uses window's keymap 2012-04-03 17:20:48 -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
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
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
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
5b7a02534c Made test run against empty project 2012-03-30 10:22:54 -07:00
Corey Johnson
dc7edc22cf Loading root view with no url opens an empty buffer 2012-03-30 09:42:02 -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
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
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