Nathan Sobo
8ca55d7dfd
Merge branch 'master' of github.com:github/atom
2012-03-28 14:20:54 -07:00
Nathan Sobo
e7a9ee5bee
Add Buffer.backwardsTraverseRegexMatchesInRange
2012-03-28 14:20:41 -07:00
Corey Johnson & Nathan Sobo
2352b49bb6
Add move-to-beginning-of-line and move-to-end-of-line events to editor
2012-03-28 14:15:51 -07:00
Corey Johnson & Nathan Sobo
c6d7aaf39c
Add basic top/bottom cursor/selection commands
2012-03-28 13:59:43 -07:00
Nathan Sobo
cce1218fda
Editor supports move-to-next-word events
2012-03-28 13:50:52 -07:00
Corey Johnson & Nathan Sobo
777d4d9680
Add Editor.getCursors()
2012-03-28 13:20:49 -07:00
Nathan Sobo
41e8d2aa2c
Add up/down/left/right emacs bindings
2012-03-28 10:44:15 -07:00
Nathan Sobo
0435f37fc4
Merge branch 'master' of github.com:github/atom
2012-03-28 10:19:06 -07:00
Nathan Sobo
378e867377
Add a disabled failing test for substitution with multiple selections
2012-03-28 10:18:55 -07:00
Nathan Sobo
5146abb7e1
Eliminate Editor.getCursor
2012-03-28 10:17:46 -07:00
Corey Johnson & Nathan Sobo
23f616de19
💄
2012-03-28 09:11:37 -07:00
Nathan Sobo
8727caf97a
Regex addresses always search from the last selection in the buffer
2012-03-27 18:30:49 -07:00
Nathan Sobo
2b77452f4f
Implement regex addresses using Buffer.traverseRegexMatchesInRange
2012-03-27 17:57:11 -07:00
Nathan Sobo
e867c43b17
Implement select all matches command (x) with Buffer.traverseRegexMatchesInRange
2012-03-27 17:52:44 -07:00
Nathan Sobo
d43296a1c4
Use Buffer.traverseRegexMatchesInRange to implement substitution
2012-03-27 17:46:52 -07:00
Nathan Sobo
847e3d16e5
Add Buffer.traverseRegexMatchesInRange
2012-03-27 17:41:53 -07:00
Nathan Sobo
7707ac5943
Substitution matches ^ to the beginning of lines
2012-03-27 17:02:17 -07:00
Corey Johnson & Nathan Sobo
24654d5bd6
💄 clarify substitution regex recursion
2012-03-27 15:55:23 -07:00
Corey Johnson & Nathan Sobo
5e89c44477
Match $ in command regexes as end of line. Don't infinitely loop on substituting zero-width matches
2012-03-27 15:39:07 -07:00
Corey Johnson & Nathan Sobo
7d969e145a
x command loops over all selected regions
2012-03-27 14:32:20 -07:00
Nathan Sobo
ad3aa0709c
Add x command, which selects all matches in the current selection
2012-03-27 12:54:28 -07:00
Nathan Sobo
461fdd5e61
Selection merging with mouse maintains directionality of last selection
2012-03-27 11:52:55 -07:00
Corey Johnson & Nathan Sobo
e62e062f9b
Maintain selection directionality when merging selections with keyboard
2012-03-27 11:26:36 -07:00
Corey Johnson & Nathan Sobo
81869ebf59
After shift/arrow-key movement, merge overlapping selections
2012-03-27 11:09:35 -07:00
Corey Johnson & Nathan Sobo
6b96251174
Rename Selection.modifySelections to modifySelectedText
2012-03-27 10:30:00 -07:00
Corey Johnson & Nathan Sobo
4be12ec461
Clear selection and update its appearance on delete
...
This fixes issues with selections in which the cursor precedes the anchor not getting cleared because the cursor doesn't move when text is deleted.
2012-03-27 10:21:26 -07:00
Corey Johnson & Nathan Sobo
9eca7f60a4
Remove *.selectToBufferPosition
2012-03-27 10:06:45 -07:00
Corey Johnson
8866789b9c
add shift+arrows movement for multi-selections
2012-03-27 09:43:30 -07:00
Corey Johnson
222b01215c
💄
2012-03-27 09:16:09 -07:00
Corey Johnson
819f1a86f2
Delete works for multiple selections
2012-03-27 09:12:58 -07:00
Corey Johnson & Nathan Sobo
553194dc9e
Backspace works with multiple selections
2012-03-27 09:10:11 -07:00
Nathan Sobo
29a2cc5886
Delete works with multiple cursors.
2012-03-26 19:39:09 -07:00
Nathan Sobo
e6e24158ae
Can replace multiple selections on same line with newlines.
...
Also storing both buffer position and screen position of anchor in selection at the same time, so we can always reference either one. Whenever one is updated, we automatically update the other.
2012-03-26 18:16:55 -07:00
Corey Johnson & Nathan Sobo
37df49f77e
Selection anchors move on buffer changes
2012-03-26 17:03:17 -07:00
Corey Johnson & Nathan Sobo
4d1f7b33e7
WIP: multiselection cut/copy/paste
2012-03-26 16:24:33 -07:00
Corey Johnson & Nathan Sobo
36177e4520
Refactor Editor's cursor connivence methods.
2012-03-26 15:36:54 -07:00
Corey Johnson & Nathan Sobo
7e2933b983
Remove Editor.getCurrentBufferLine
2012-03-26 15:31:47 -07:00
Corey Johnson & Nathan Sobo
c9b9e30848
💄
2012-03-26 15:28:37 -07:00
Corey Johnson & Nathan Sobo
65b0107811
Auto-indent works for multiple cursors
2012-03-26 15:22:45 -07:00
Corey Johnson & Nathan Sobo
d304786245
Make all remaining specs pass as if there were only one cursor.
2012-03-26 14:58:52 -07:00
Corey Johnson & Nathan Sobo
8422c7ad12
Overlapping selections are merged
2012-03-26 12:41:36 -07:00
Corey Johnson & Nathan Sobo
22eb9c5860
Merge to one cursor on click. Meta click-drag creates multiple selections.
2012-03-26 11:20:09 -07:00
Corey Johnson & Nathan Sobo
9e32126d3d
Cursors are merged after moving
2012-03-26 10:40:38 -07:00
Corey Johnson & Nathan Sobo
205bc47b3e
Merge cursors after buffer changes, but not after movement
2012-03-26 10:26:12 -07:00
Corey Johnson & Nathan Sobo
3d88477e9c
Add multiple cursor movement
2012-03-23 16:17:04 -06:00
Corey Johnson & Nathan Sobo
a67bb98f02
Multiple newlines can be inserted on the same line
...
Redesign Cursor.handleBufferChange. The basic intuition is that each cursor should have the same spatial relationship with the end of the new range as it previously had with the end of the old range.
2012-03-23 16:02:34 -06:00
Corey Johnson & Nathan Sobo
923e67af97
Add spec for backspace on multiple lines.
2012-03-23 15:23:02 -06:00
Corey Johnson & Nathan Sobo
7a6bc8fd4b
Backspace explicitly clears selection
2012-03-23 15:21:09 -06:00
Nathan Sobo
64061e9aef
Merge branch 'master' into multi-cursor
2012-03-23 15:00:57 -06:00
Nathan Sobo
7ee0d1bc7c
Un-F
2012-03-23 14:59:52 -06:00