Commit Graph

258 Commits

Author SHA1 Message Date
Corey Johnson & Nathan Sobo
513e15e369 Make editor tall so that all line numbers are rendered for this test 2012-05-14 15:42:51 -06:00
Corey Johnson
b35a2502c6 Gutter line numbers are rendered similarly to the scroll view's lines 2012-05-14 12:32:53 -07:00
Corey Johnson
5e4aef95d0 Only visible lines numbers are rendered by the gutter 2012-05-14 09:53:58 -07:00
Nathan Sobo
0c89db37a5 Editor scroll position is correctly restored on refresh.
When we attach the editor we need to scroll it to the correct position before rendering lines. But to scroll it to the right position, the lines container and the scrollbar need to be assigned a height that allows them to scroll. So now we call `prepareForVerticalScrolling` on attach, then set the scroll position based on the edit session and render the visible lines.
2012-05-11 17:51:47 -06:00
Nathan Sobo
96d92be230 Rename Editor.scrollbar to verticalScrollbar for clarity 2012-05-11 13:45:57 -06:00
Nathan Sobo
b64e9ae10f Rename Editor.scroller to Editor.scrollView to distinguish it from the vertical scrollbar.
Also, base edit session scroll top on the scrollbar instead of the scrollView.
2012-05-11 13:42:57 -06:00
Corey Johnson & Nathan Sobo
9427c82084 WIP: Getting specs passing with new stand-in vertical scrollbar 2012-05-11 11:52:03 -06:00
Corey Johnson & Nathan Sobo
02da32d372 Update visible lines when scrolling up 2012-05-10 16:11:05 -06:00
Corey Johnson & Nathan Sobo
43ac7edf0f Scrolling to bottom renders correct lines
When we scroll more than a single screen's worth of lines, the new first visible screen row ends up exceeding the previous last rendered screen row, so we need to use the maximum of the two when deciding which new rows to render.
2012-05-10 15:15:34 -06:00
Corey Johnson & Nathan Sobo
c5d2616155 WIP: Removing lines that are no longer visible 2012-05-10 12:08:58 -07:00
Corey Johnson & Nathan Sobo
22548141d7 Editor updates lines when it is resized 2012-05-10 11:14:03 -07:00
Corey Johnson & Nathan Sobo
f6e9d99865 Editor only does not pre-build lines, it only builds them when they are visible on the screen 2012-05-10 10:40:16 -07:00
Corey Johnson & Nathan Sobo
6eda0d345b 💄 2012-05-10 08:58:38 -07:00
Nathan Sobo
1e2d333a15 WIP: working on only rendering on-screen lines. still half-baked. 2012-05-10 09:27:04 -06:00
Corey Johnson & Nathan Sobo
5ae40a3cb8 Editor only renders lines when it is attached to the DOM 2012-05-09 19:19:54 -06:00
Nathan Sobo
8b1ac28b89 Editor font sizes can be adjusted with RootView.proto.setFontSize 2012-05-09 08:34:08 -06:00
Nathan Sobo
6dda27e771 Go ahead and build a RootView in the editor spec 2012-05-08 20:20:56 -06:00
Nathan Sobo
3d382955cc When focus changes to a different editor, highlight its open file in the TreeView
Trigger 'active-editor-path-change' event whenever active editor changes or the path of the active editor changes. Rename 'buffer-path-change' to 'editor-path-change' to emphasize that it's the path open in an *editor* that's changing.
2012-04-24 08:51:11 -06:00
Nathan Sobo
802a4259e9 Move-to-first-character-of-line no longer explodes on empty lines 2012-04-20 18:11:01 -06:00
Corey Johnson & Nathan Sobo
a6afc319c6 Mini-editors ignore the 'close' event 2012-04-20 17:59:40 -06:00
Corey Johnson & Nathan Sobo
f652b4e357 Position autocomplete menu above cursor if there isn't room below 2012-04-20 17:18:07 -06:00
Corey Johnson
eaf7ee8ec1 Only emit editor-open event once (on first attachment) 2012-04-19 18:12:55 -07:00
Corey Johnson & Nathan Sobo
800f16bb29 Editor emits an editor-open event when attached 2012-04-19 17:56:08 -07:00
Corey Johnson & Nathan Sobo
5e1d7c774c Serialized Editor state no longer contains Buffer objects 2012-04-18 15:57:58 -07:00
Nathan Sobo
c673c5114e Ensure that Editor.proto.serialize returns a copy of each edit session 2012-04-13 14:29:58 -06:00
Corey Johnson & Nathan Sobo
57b205d508 When a Pane is removed, layout of #panes div is adjusted appropriately 2012-04-13 12:49:59 -06:00
Corey Johnson & Nathan Sobo
1b2b1a324d Add a mock-based test for Editor.prototype.split and ensure it doesn't raise exceptions when not in a pane 2012-04-13 11:40:29 -06:00
Corey Johnson & Nathan Sobo
54a15856bb Use Editor.deserialize in Editor.prototype.copy and add a spec for it 2012-04-13 11:39:57 -06:00
Nathan Sobo
8513e60903 Editor saves all edit sessions when window is refreshed 2012-04-12 15:46:44 -06:00
Corey Johnson
5097218aa2 meta-{ goes to previous buffer 2012-04-11 13:44:07 -07:00
Corey Johnson
bf367863ba meta-} goes to next buffer 2012-04-11 13:44:07 -07:00
Nathan Sobo
d5b93a2333 💄 2012-04-10 13:04:54 -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
f3372f08de Ctrl-k cuts to the end of the line 2012-04-09 12:34:30 -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
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
Corey Johnson
2489e19bb7 CompositeCursor.addCursor takes an optional screenPosition argument 2012-04-04 14:08:30 -07:00