Nathan Sobo
e602b5c466
Account for scrollbars and padding in autoHeight/Width mode
2017-05-05 09:29:29 +02:00
Nathan Sobo
9bf0ea83f4
Test clicking more locations outside of the lines
2017-05-05 09:29:29 +02:00
Antonio Scandurra
26b9273e00
Add data-encoding to editor element
...
Signed-off-by: Nathan Sobo <nathan@github.com >
2017-05-05 09:29:29 +02:00
Antonio Scandurra
2a1ba7f05b
Add data-grammar to editor element
2017-05-05 09:29:29 +02:00
Antonio Scandurra
0a702d1680
Skip obsolete tests for now, but delete them later
2017-05-05 09:29:29 +02:00
Antonio Scandurra
f3c48c8b70
Register style elements change events in AtomEnvironment.initialize
...
...and fix spec/workspace-element-spec.js
2017-05-05 09:29:29 +02:00
Antonio Scandurra
1d01d499a9
Fix spec/text-editor-spec.coffee
2017-05-05 09:29:29 +02:00
Antonio Scandurra
b7a421eadf
Stop calling initialize in ViewRegistry tests
2017-05-05 09:29:29 +02:00
Antonio Scandurra
0210b0bc81
Update fake gutter container interface in gutter-spec.coffee
2017-05-05 09:29:29 +02:00
Antonio Scandurra
1d8f4f2cdd
Wait until the editor is focused before starting to type in smoke test
2017-05-05 09:29:29 +02:00
Antonio Scandurra
8707cabe40
Don't count the dummy line in block decoration test
2017-05-05 09:29:29 +02:00
Nathan Sobo
99e3c62e69
Clear highlight nodes when recycling line tiles
2017-05-05 09:29:28 +02:00
Nathan Sobo
3fce3ebe17
Fix test
2017-05-05 09:29:28 +02:00
Nathan Sobo
6e6dce21ee
Don't re-measure if editor has become invisible
2017-05-05 09:29:28 +02:00
Nathan Sobo
7aec696bb5
Remove stray logging
2017-05-05 09:29:28 +02:00
Nathan Sobo
95c8950004
Re-measure and update rendered content when editor styles change
2017-05-05 09:29:28 +02:00
Antonio Scandurra
054c133ed4
Remeasure block decorations when editor width changes
...
Signed-off-by: Nathan Sobo <nathan@github.com >
2017-05-05 09:29:28 +02:00
Antonio Scandurra
8103bd687c
Update line number gutter when invalidating a visible block decoration
...
When two or more decorations in the same tile were invalidated but the
sum of their height didn't change, we were previously failing to
recognize that the line numbers gutter needed to be re-rendered. With
this commit, whenever a block decoration is visible and gets
invalidated, we will force the line number gutter to always update.
2017-05-05 09:29:28 +02:00
Nathan Sobo
8aae3ab1ae
Hide cursors with non-empty selection if showCursorsOnSelection is false
...
Also, remove some barely used public APIs around cursor visibility that
don't make much sense and are not ideal for performance. We don't want
to subscribe to the visibility of each cursor.
2017-05-05 09:29:28 +02:00
Antonio Scandurra
bc8b548d1a
Add TextEditorElement.prototype.invalidateBlockDecorationDimensions
2017-05-05 09:29:28 +02:00
Antonio Scandurra
b264d4764a
Align line number nodes with line nodes
2017-05-05 09:29:28 +02:00
Antonio Scandurra
7474b4b678
Integrate block decorations in the custom lines rendering routine
2017-05-05 09:29:28 +02:00
Antonio Scandurra
316df28bbd
Splice LineTopIndex when a textual change occurs
2017-05-05 09:29:28 +02:00
Antonio Scandurra
4cd9a36594
Handle inserting and updating block decorations
2017-05-05 09:29:28 +02:00
Antonio Scandurra
015f196f2f
Test scrolling down with block decorations
2017-05-05 09:29:28 +02:00
Antonio Scandurra
e289283205
Render block decorations between lines
2017-05-05 09:29:28 +02:00
Nathan Sobo
5a6935a01c
Use LineTopIndex to convert from/to rows to/from pixel positions
2017-05-05 09:29:28 +02:00
Nathan Sobo
b32b760ee4
WIP: Start on block decorations
2017-05-05 09:29:28 +02:00
Nathan Sobo
eb588d4c7c
Test and fix the center option to autoscroll
2017-05-05 09:29:28 +02:00
Nathan Sobo
acf996fc14
Speed up cursor blink test
2017-05-05 09:29:28 +02:00
Nathan Sobo
eb22b58756
Add smoke test for cursor blink
2017-05-05 09:29:28 +02:00
Nathan Sobo
4da579ceff
Unfocus test
2017-05-05 09:29:28 +02:00
Nathan Sobo
61583462cf
Set the height of the line number gutter explicitly
2017-05-05 09:29:28 +02:00
Nathan Sobo
4e834da3e3
WIP: Render gutters before initial measurement
...
The shouldUpdate method is just returning true for now. We probably need
to find a new approach to representing line number decorations that's
easier to diff, perhaps a sparse array?
2017-05-05 09:29:28 +02:00
Nathan Sobo
d5d3cfc5a9
Adjust left position of scroll container when gutter container resizes
2017-05-05 09:29:28 +02:00
Nathan Sobo
1b1cffb32d
⬆️ etch to allow arbitrary objects as keys
2017-05-05 09:29:28 +02:00
Nathan Sobo
d8b22fb3bd
Associate gutters with their elements and support showing/hiding gutters
2017-05-05 09:29:28 +02:00
Nathan Sobo
16694a2166
Start on custom gutters
2017-05-05 09:29:28 +02:00
Nathan Sobo
90452836fe
Fix wrong variable name
2017-05-05 09:29:28 +02:00
Nathan Sobo
5297e7ab1a
Add avoidOverflow: false option for overlays
2017-05-05 09:29:28 +02:00
Nathan Sobo
f2e2475c62
Use spies instead of monkey patching
2017-05-05 09:29:28 +02:00
Nathan Sobo
47761a455e
Support class property on overlay decorations
2017-05-05 09:29:28 +02:00
Nathan Sobo
b6f71bc648
Render overlay decorations
2017-05-05 09:29:28 +02:00
Nathan Sobo
5f2d4c801b
Handle mousedowns on dummy scrollbars that miss the actual scrollbars
...
Because the dummy scrollbar elements are potentially wider than the real
scrollbars rendered by the browser, we need to delegate some mousedown
events to the parent component.
2017-05-05 09:29:28 +02:00
Nathan Sobo
e6e5420f42
Correctly handle overflows caused by scrollbar for the opposite axis
2017-05-05 09:29:28 +02:00
Nathan Sobo
0999d0bf02
Handle scrolling of the dummy scrollbars directly
2017-05-05 09:29:28 +02:00
Nathan Sobo
8720dbc862
🎨
2017-05-05 09:29:28 +02:00
Nathan Sobo
5757d6de85
Group rendering tests
2017-05-05 09:29:28 +02:00
Nathan Sobo
2075f06404
WIP: Introduce dummy scrollbars
...
Still need tests on all of this
2017-05-05 09:29:28 +02:00
Nathan Sobo
5a47f179e3
Introduce synthetic scrolling
...
We previously thought scroll events had changed somehow to become
synchronous, but were wrong. This introduces synthetic scrolling where
we use GPU translation of the contents of the gutter and scroll
containers to simulate scrolling and explicitly capture mousewheel
events.
Still need to add dummy scrollbars and deal with their footprint in
clientHeight and clientWidth.
2017-05-05 09:29:28 +02:00