Commit Graph

44 Commits

Author SHA1 Message Date
Nathan Sobo
f724b8f427 Uncomment assertions 2012-04-10 19:28:14 -06:00
Nathan Sobo
d5b93a2333 💄 2012-04-10 13:04:54 -06:00
Corey Johnson & Nathan Sobo
fa50e9705e No longer push empty batches onto undo stack 2012-04-10 10:25:29 -07:00
Corey Johnson
afceacefc8 meta-[ outdents selected lines 2012-04-10 10:18:39 -07:00
Corey Johnson
ec221bfee0 meta-] indents selected lines 2012-04-10 09:55:13 -07:00
Nathan Sobo
f9ee35dc87 Merge branch 'master' of github.com:github/atom
Conflicts:
	src/app/cursor.coffee
2012-04-09 14:47:55 -06:00
Nathan Sobo
cc52ff6f28 Bugfix: move-to-beginning-of-word no longer raises an error at position [0, 0] 2012-04-09 13:59:46 -06:00
Corey Johnson & Nathan Sobo
a21082395d 💄 2012-04-09 11:41:04 -07:00
Corey Johnson & Nathan Sobo
f3372f08de Ctrl-k cuts to the end of the line 2012-04-09 12:34:30 -06:00
Nathan Sobo
54396a7646 Fix bug where you can't move rightward over fold placeholders
Fold placeholders needed to be real token objects so their screen / buffer deltas would be defined in ScreenLineFragment.proto.translateColumn
2012-04-06 15:37:27 -06:00
Nathan Sobo
47685aab7b Correctly translate buffer positions to screen positions when the buffer has tab chars 2012-04-06 15:06:33 -06:00
Nathan Sobo
9da86982a8 WIP: Set cursor position correctly after inserting a hard tab.
Tests pass but still some issues on repeated tab insertion.
2012-04-06 13:03:30 -06:00
Nathan Sobo
1d7d59d673 💄 2012-04-06 12:21:24 -06:00
Nathan Sobo
656c8318f2 Shift-triple-click expands the selection over the clicked line 2012-04-06 11:07:19 -06:00
Nathan Sobo
76a846aacc Shift-double-click expands the selection over the clicked word
Also factored `get(Beginning|End)OfCurrentWordBufferPosition` methods out of `moveTo(Beginning|End)OfWord` on Cursor. They are used by a `getCurrentWordBufferRange` method, which Selection now uses to find the range of the current word.
2012-04-05 19:41:34 -06:00
Nathan Sobo
2fc3f78e26 Shift-click creates a selection
It would be nice to handle shift-double-click and shift-triple-click as well.
2012-04-05 18:12:48 -06:00
Nathan Sobo
fd3e98cd28 💄 2012-04-05 17:58:44 -06:00
Nathan Sobo
a3686da496 Move atom.tabText to a property on Editor.prototype for more locality 2012-04-05 17:55:15 -06:00
Nathan Sobo
aba968acd9 Tab key inserts spaces or a tab character depending on Editor.prototype.softTabs setting 2012-04-05 17:39:40 -06:00
Nathan Sobo
c4a23c7dd0 💄 2012-04-05 17:29:42 -06:00
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
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
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
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