Ben Ogle
48b6c24882
Add Editor::selectionFlashDuration rather than magic number
2014-07-03 17:36:45 -07:00
Ben Ogle
e5f800ef35
💄
2014-07-03 17:32:38 -07:00
Ben Ogle
1838ff2502
Use ‘flash’ class rather than ‘highlighted’.
...
Pull the flash into the base theme rather than the ui themes
2014-07-03 17:32:38 -07:00
Ben Ogle
505bfc28db
fix spec
2014-07-03 17:32:37 -07:00
Ben Ogle
abbe8d2eec
Flash works for selections
2014-07-03 17:32:37 -07:00
Ben Ogle
bf33d96899
Decorations can be flashed
2014-07-03 17:32:37 -07:00
Ben Ogle
a56b5eef2f
Remove the decoration update stuff
2014-07-03 17:32:37 -07:00
Ben Ogle
80eb31679f
Add a Decoration object. Rework to use this object
2014-07-03 17:32:37 -07:00
Ben Ogle
54039e9d3b
Don’t use state. Modify the dom directly
2014-07-03 17:32:37 -07:00
Ben Ogle
92c28fc44f
💄
2014-07-03 17:32:37 -07:00
Ben Ogle
bc67efb72b
💄 Waaay less awkward
2014-07-03 17:32:37 -07:00
Ben Ogle
0ee4d864be
Move flashing into the highlight component
2014-07-03 17:32:37 -07:00
Ben Ogle
1d724339d6
Don’t use attributes
2014-07-03 17:32:37 -07:00
Ben Ogle
ce90b72807
Handle the decoration + highlighted in the selection
2014-07-03 17:32:37 -07:00
Ben Ogle
4f356121d7
Handle decoration updates in the editor-component
2014-07-03 17:32:37 -07:00
Ben Ogle
7b19152a58
Add updateDecorationForMarker()
2014-07-03 17:32:37 -07:00
Nathan Sobo
c2b7955ec6
Adjust DisplayBuffer::longestScreenRow when lines are inserted/removed
...
Fixes #2810
The line corresponding to the longest screen row moves when lines are
inserted or removed above it, so we need to adjust it accordingly or we
won't always realize when a change affects the longest line.
2014-07-03 16:15:49 -06:00
Nathan Sobo
9ece33dbfe
Handle double and triple click with command key held down
...
Fixes #2812
2014-07-03 15:18:53 -06:00
Nathan Sobo
260be2e096
Autoscroll *after* inserting text, not before
...
Fixes #2787
2014-07-03 14:47:43 -06:00
Nathan Sobo
a4ed02c3c5
Update lines for line insertions/removals preceding rendered row range
2014-07-03 11:22:57 -06:00
Nathan Sobo
66319ca9c0
Merge pull request #2801 from atom/ns-react-fix-jitter
...
Fix jitter in React editor
2014-07-02 10:34:01 -06:00
Nathan Sobo
17fa580ecd
Ignore 'scroll' events when an update is pending
...
This prevents feedback loops where we handle stale 'scroll' events
for scrolls requested in the model layer. It prevents jitter when
autoscrolling with the cursor.
2014-07-02 10:11:35 -06:00
Nathan Sobo
7202f497db
Pause scroll view measurement in requestAnimationFrame helper method
2014-07-02 09:30:44 -06:00
Nathan Sobo
9508909a9f
Don't defer updates with setImmediate in animation frames
...
I previously thought this was okay, but now I'm experiencing jitter when
scrolling with the trackpad when updates are deferred, and the frames
seem jagged. So this commit restores a synchronous approach to display
updates whenever we use animation frames.
2014-07-02 09:26:24 -06:00
Nathan Sobo
e5ab2c6507
Pause scroll view measurement when requesting animation frames
...
We don't want any extra DOM reading that could introduce hitches in
the animation we're running.
2014-07-02 08:47:32 -06:00
Nathan Sobo
8add5ccd7e
Remove unused EditorComponent::componentWillUpdate hook
2014-07-02 08:46:56 -06:00
Ben Ogle
b0031e493e
Merge pull request #2737 from atom/bo-fix-indent-guide
...
Fix indent guide
2014-07-01 13:46:25 -07:00
Nathan Sobo
8b57bb3309
Merge pull request #2789 from atom/ns-react-disable-gpu-option
...
Add editor.gpuDisabled option to prevent React editor from using layers
2014-07-01 12:48:34 -06:00
Nathan Sobo
4efabd2b5e
💄 method name
2014-07-01 12:34:00 -06:00
Nathan Sobo
18d17b55b5
Pass useHardwareAcceleration property down to CursorComponent instances
2014-07-01 12:33:45 -06:00
Nathan Sobo
0edfbaebeb
Rename editor option to useHardwareAcceleration
2014-07-01 12:17:43 -06:00
Nathan Sobo
512d4da587
Add editor.gpuDisabled option to prevent React editor from using layers
...
When gpuDisabled is true, we use `translate` instead of `translate3d`
to position various elements, preventing the creation of GPU layers.
2014-07-01 11:56:05 -06:00
Ben Ogle & Nathan Sobo
4642d96f39
Tokenize empty lines with a changed indent level synchronously
2014-07-01 10:54:37 -07:00
Ben Ogle
de2930fe99
💄
2014-07-01 10:54:37 -07:00
Ben Ogle
43e88f6515
Invalidate whitespace lines when their indent level changes
...
Refs #2376
2014-07-01 10:54:36 -07:00
Ben Ogle
d97eacc2f9
Add isOnlyWhitespace()
2014-07-01 10:54:36 -07:00
Ben Ogle
06d06d10e0
💄
2014-07-01 10:45:13 -07:00
Ben Ogle
44b95fc637
Emit errors from the out of process searches
2014-07-01 10:44:30 -07:00
Nathan Sobo
e93e4e9333
Autoscroll to the last cursor in model when inserting text
...
Fixes #2787
2014-07-01 11:37:17 -06:00
Nathan Sobo
d4a7bff525
Merge pull request #2608 from philschatz/ps-dedupe-context-menu
...
remove duplicate context menu entries
2014-07-01 11:08:18 -06:00
Nathan Sobo
32c8a3ce99
Only adjust scrollTop when deleting lines when using the React editor
2014-07-01 09:16:29 -06:00
Nathan Sobo
a99bde4e2d
Reassign scrollTop if deleting lines decreases the max scrollTop
...
Fixes #2725
2014-07-01 09:01:04 -06:00
Nathan Sobo
431fc725ff
Interpret editor clicks relative to lines div, not the scrollView div
...
Fixes #2668
If the scroll view has padding, using it as the basis for locating
clicks relative to the lines is problematic.
2014-06-30 16:24:07 +01:00
Nathan Sobo
f5517bad66
Merge pull request #2757 from atom/ns-better-default-decorations
...
Improve default decorations for cursor and selection lines in React editor
2014-06-28 16:04:12 +01:00
Nathan Sobo
324f1392a3
Revert changes related to the .selection-line class
...
We will introduce .selection-line as part of a separate effort, not the
React switchover.
2014-06-28 15:52:10 +01:00
Nathan Sobo
15ca3e2a40
Match existing editor's behavior for .cursor-line class
2014-06-28 15:39:22 +01:00
Nathan Sobo
9a6510c938
Add .cursor-line-no-selection decoration for backward compatibility
2014-06-28 15:39:22 +01:00
Nathan Sobo
825910dc1d
Add onlyEmpty and onlyNonEmpty decoration options
2014-06-28 15:39:22 +01:00
Nathan Sobo
8435e0176b
Add selection-line class to old editor gutter for forward-compatibility
...
The React editor does not apply the .cursor-line-no-selection class,
but instead relies on a combination of .cursor-line and .selection-line
for selectors that want to target the cursor line when there is no
selection.
This allows themes to be upgraded to support the React editor and the
old editor at the same time.
2014-06-28 15:39:21 +01:00
Nathan Sobo
f5e54b0ba6
Only add 'selection-line' decoration when marker is non-empty
2014-06-28 15:39:21 +01:00