Commit Graph

4253 Commits

Author SHA1 Message Date
Nathan Sobo
00a6472a2c Update display synchronously when scrolling to prevent flicker 2012-11-14 15:10:05 -07:00
Nathan Sobo
7f8e2643f5 Auto-scroll last to avoid forcing a reflow before we're done modifying 2012-11-14 15:04:13 -07:00
Nathan Sobo
28a937089f Trigger 'cursor-move' events when cursor view changes 2012-11-14 14:35:08 -07:00
Nathan Sobo
9424674b37 Trigger 'selection-change' events when selection view changes 2012-11-14 14:34:52 -07:00
Nathan Sobo
a6e928d85a Use MessageChannel-based nextTick to schedule Editor display update
This is the fastest way I've found to get the nextTick behavior, which allows us to aggregate multiple requests for display update (from selection changes, cursor movement, line changes) etc into a single call at the end of processing an event.
2012-11-14 13:57:27 -07:00
Nathan Sobo
5a1a1da386 Make editor display updates synchronous in all specs 2012-11-14 13:13:57 -07:00
Nathan Sobo
3e11b38eaf Disable spec for cursor idle class. We're going to blink it manually. 2012-11-14 13:13:39 -07:00
Nathan Sobo
3eeb4435a5 Re-render the gutter on changes if the screen or buffer delta are != 0
Basically, we don't re-render the gutter for single-line edits. Every other kind of change does re-render it however.
2012-11-14 13:13:23 -07:00
Nathan Sobo
c68d5fac7d Attach precipitating bufferChange to DisplayBuffer change events
The gutter can use this to determine if the change might have altered line numbers, for example if it's inside a fold.
2012-11-14 13:07:42 -07:00
Corey Johnson & Nathan Sobo
3b70df87a7 Remove cursor animation, which slows down screen updates when typing 2012-11-14 11:14:08 -07:00
Corey Johnson & Nathan Sobo
9fa577f8c4 Using requestAnimationFrame with some disabled features
Not sure if it feels faster, but the code is a bit more organized at least.
2012-11-13 18:25:29 -07:00
Corey Johnson & Nathan Sobo
8959adc13d Use updateDisplay instead of renderLines in autocomplete spec 2012-11-13 17:25:51 -07:00
Corey Johnson & Nathan Sobo
97e3a8f248 Lipstick 2012-11-13 17:23:19 -07:00
Corey Johnson & Nathan Sobo
2aed267752 Don't call updateDisplay re-entrantly from scrollTop 2012-11-13 17:23:09 -07:00
Corey Johnson & Nathan Sobo
041dc2b6b0 Replace calls to renderLines w/ resetDisplay in Editor 2012-11-13 17:21:27 -07:00
Corey Johnson & Nathan Sobo
cef9ce6ca7 Add needsUpdate and needsAutoscroll properties to cursor views
Then in the editor, we update and autoscroll only the views that need it. Autoscrolling is suppressed when resetting the display so that we honor the scroll positions of the active EditSession.
2012-11-13 17:20:48 -07:00
Nathan Sobo
ee233d56a7 Remove unused autoscrollOnAttach flag from CursorView
We no longer call `updateDisplay` immediately when the cursor is attached. Instead, we always attach and remove cursor views from `Editor#updateDisplay`, so we will decide whether to autoscroll at that level.
2012-11-13 15:08:44 -07:00
Nathan Sobo
f96cf439c0 Adding/removing SelectionViews through Editor#updateDisplay 2012-11-13 15:06:32 -07:00
Nathan Sobo
c09249313b Only add CursorViews during Editor#updateDisplay
The goal is that no model operation will ever modify the DOM directly. We will always request a display update, which will happen on the next animation frame.
2012-11-13 14:54:59 -07:00
Nathan Sobo
8aad2480b6 Only autoscroll to cursor when it is attached *after* reset 2012-11-13 14:30:24 -07:00
Nathan Sobo
bfef9077f3 Don't autoscroll when updating the display after adjusting scrollTop 2012-11-13 14:18:51 -07:00
Nathan Sobo
55bab0fbe0 Un F 2012-11-13 14:18:12 -07:00
Corey Johnson & Nathan Sobo
b5efec308a wip: updateDisplay 2012-11-13 12:08:41 -08:00
Corey Johnson & Nathan Sobo
9c0f1d428f Rename updateAppearance to updateDisplay 2012-11-13 11:21:46 -08:00
Corey Johnson
bb9c2e1bcb Handle exceptions thrown during do/undo/redo 2012-11-12 15:59:44 -08:00
Corey Johnson
1d3a26e253 Fix other WrapGuide specs 2012-11-12 09:31:54 -08:00
Corey Johnson
885717864e Place WrapGuide on the Editor's underlayer element (instead of on lines) 2012-11-12 09:19:07 -08:00
Corey Johnson
e9f69ee203 EditSession.isFoldedAtScreenRow returns false for screen rows that do not exist. 2012-11-12 09:12:47 -08:00
Corey Johnson
448060a619 rake test kills all existing Atom processes
Existing Atom processes were causes false positive ci builds.
2012-11-12 08:44:16 -08:00
Corey Johnson
1f7b92495a fix failing spec 2012-11-09 16:10:53 -08:00
Corey Johnson
0bb384d98b Atom is sent to the foreground when launched from the command line. 2012-11-09 15:51:24 -08:00
Corey Johnson
f09a104524 Treat $base in textmate grammars as if it is $self
$base works as $self worked previously. $self will need to be fixed. If inside
a embedded grammar $self refers to the embedded grammar while $base refers to the
overall grammar.
2012-11-09 15:35:40 -08:00
Nathan Sobo
06204a40dd Un-F. 2 failures left in suite. 2012-11-09 14:27:19 -07:00
Nathan Sobo
3bc11ede77 Set the lines div height explicitly so it can be > 100% of parent
All editor specs pass
2012-11-09 14:25:59 -07:00
Nathan Sobo
c257a989be Account for 20 extra pixels on right of lines div in spec 2012-11-09 14:05:22 -07:00
Nathan Sobo
538c44f82b Fix bug caused by the fact that 0 <= null ===> true. God. damn. it. 2012-11-09 14:02:13 -07:00
Nathan Sobo
ee9ae449f3 💄 2012-11-09 13:43:28 -07:00
Nathan Sobo
0b9e22483e Update spec to match stricter maintenance of lastRenderedScreenRow 2012-11-09 13:40:49 -07:00
Nathan Sobo
5519929d8e Kill console.log 2012-11-09 13:38:27 -07:00
Nathan Sobo
4a3dbedb71 Fix spec to allow for 20 extra pixels to right of the lines 2012-11-09 13:28:51 -07:00
Corey Johnson & Nathan Sobo
e014f60f39 Update overdraw if scrolling beyond rendered lines in either direction
Also a few refactorings, and handle scroll height change in update lines
2012-11-09 13:27:05 -07:00
Will Farrington
ee51e2ea0c Add toggle ignored files command 2012-11-09 12:05:14 -08:00
Will Farrington
1ea8df6e60 Add hideIgnoredFiles option to projects 2012-11-09 11:51:00 -08:00
Will Farrington
01289d59cf include ignored.txt 2012-11-09 11:38:58 -08:00
Will Farrington
1ed0dca279 Merge branch 'ignore_git_ignored_paths_in_file_finder' of https://github.com/github/atom into ignore_git_ignored_paths_in_file_finder 2012-11-09 11:35:58 -08:00
Will Farrington
e13270bcb3 Spike out specs 2012-11-09 11:35:45 -08:00
Will Farrington
fa743eefd8 first spike 2012-11-09 11:25:33 -08:00
Corey Johnson & Nathan Sobo
507c12a0fa Highlight cursor line after updating rendered lines 2012-11-09 11:24:47 -07:00
Corey Johnson & Nathan Sobo
1996eaeb54 Preliminary approach to updating the gutter
This is just to get specs passing. We want to use the intact ranges to only render the exact lines that changed.
2012-11-09 11:17:42 -07:00
Corey Johnson & Nathan Sobo
7c16c48e2a Ensure underlayer and overlayer are always the same width as lines
Also… simplify CSS rules for lines element. No display table or padding, instead we just set the min width when typing.
2012-11-09 11:12:33 -07:00