Nathan Sobo
7ded50c19d
Add benchmark for moving to beginning of word at the end of a 9k line file
2012-04-09 15:52:08 -06:00
Nathan Sobo
0ad9e7b83b
Make Renderer.proto.buildLinesForBufferRows iterative instead of recursive
...
So we don't stack overflow on very large files.
2012-04-09 15:48:13 -06: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
6db9360c5f
Make scanInRange iterative instead of recursive
2012-04-09 12:03:55 -07: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
ce91d50c29
Pass clipping options in setting screen position and translating buffer position for screen position
...
This allows Cursor.proto.moveRight to avoid pre-clipping its position. It just passes the appropriate clipping options when setting its screen position.
2012-04-06 12:29:40 -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
Corey Johnson & Nathan Sobo
4550f017c3
add fixture file with tabs
2012-04-05 13:13:32 -07:00
Corey Johnson & Nathan Sobo
ef21823e2a
Move ScreenLineFragment.splitTokenAt to Token.splitAt
2012-04-05 14:11:12 -06:00
Corey Johnson & Nathan Sobo
41a90f6caf
Instantiate token objects in highlighter
2012-04-05 14:08:04 -06:00
Corey Johnson & Nathan Sobo
19c030360c
Better error reporting
2012-04-05 14:07:52 -06:00
Corey Johnson & Nathan Sobo
9814d74c43
This ended up not solving our memory problems
2012-04-05 12:59:38 -07:00
Corey Johnson & Nathan Sobo
0386ecdc96
Move isAtomic property from screen line fragment to tokens
2012-04-05 12:59:38 -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
fb02290972
Sync multiple cursor animations
2012-04-04 15:01:38 -07: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
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
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
8a4f6510c9
Lighten selections because they're hard to see against darker bg
2012-04-04 11:09:45 -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
7e22d47256
Close the dev-tools when reloading reduces memory leaks (by a lot)
2012-04-04 09:44:53 -07:00
Corey Johnson
5d90b902c3
Less noise
2012-04-04 09:15:24 -07:00
Corey Johnson
8667628623
Remove unused array
2012-04-04 08:44:36 -07: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