Rewrite editor rendering layout to use new browser features and virtual DOM #13880
Conversation
71c77d4
to
08ab871
Compare
97028f5
to
f9f5e03
Compare
549dcbc
to
a52a495
Compare
f9f5e03
to
fa91e29
Compare
fa91e29
to
903d009
Compare
0d09906
to
b18e4bc
Compare
903d009
to
82fc106
Compare
f8ea9b4
to
d708eaf
Compare
82fc106
to
0bcffbf
Compare
56c74c7
to
3f1eac8
Compare
0bcffbf
to
74694ee
Compare
74694ee
to
370f3b9
Compare
5a33334
to
4869de0
Compare
370f3b9
to
241c87e
Compare
7239e66
to
ee03592
Compare
241c87e
to
ccbb63b
Compare
9561b00
to
75b76e8
Compare
7e6ac71
to
a89b440
Compare
Is there a new issue for the remaining optimization tasks that I can follow? |
👏 Congratulations guys. Such awesome work. |
So... uh... sorry if it's a wrong place to ask this question, but before this PR, all custom gutter decorations had an automatic P.S. Created #14941 for good measure. |
Will this deal with #8669 ? - it reads like it will. Thanks if so, that would be awesome. |
No, this PR has nothing to do with #8669, but you can follow tree-sitter,
which does.
El El dom, 23 jul 2017 a las 15:49, Levertion <notifications@github.com>
escribió:
… @abe33 <https://github.com/abe33> Are you willing to fix some of your
monkey-patches in packages to work with this new editor? We're adding an
API to enable you to inject styled spans into the markup, but there some
other places where things just need adjustment.
Will this deal with #8669 <#8669> ? -
it reads like it will. Thanks if so, that would be awesome
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#13880 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAFef2klJ5QoOA_PB_hq3pfW7b9srKaHks5sQ09XgaJpZM4MMdrz>
.
|
This api sounds like you would be able to recreate the highlighting though by putting your own spans in for custom highlighting, is this correct. EDIT2:Found the source code from the atom.io blog page in https://github.com/atom/atom/pull/14790/files#diff-561e90889eebfd1149f1b29006d738c4R1790 |
Not entirely certain how related it is, but linter-ui-default#355. Steps to reproduce for me are to open a couple of files which will be linted, and then close them with CTRL-W (core:close). Interestingly, using the mouse to navigate to and close the tabs via their close button does not trigger this. |
would this be the pr that changed the way fonts are rendering? |
In this PR, I plan to completely rewrite editor rendering to take advantage of CSS layout containment and intersection observers. This PR will also use Etch to perform declarative updates instead of the existing presenter with manual DOM manipulation, which has not aged well. I'm optimistic that a simpler layout, a cleaner approach to DOM updates, and better use of features such as layout containment can make our rendering faster and much more maintainable.
My goal is to rethink all of the DOM interactions associated with the editor to make sure things are as optimal as possible.
Tasks
onDidChangeFirstVisibleScreenRow
?TextEditorElement
implementationFailed to activate the pigments package, cannot find highlights-component in the require cache
We'll need to introduce a new API to support the use case that @abe33 is monkey patching private implementation details to support. We'll need to merge this before doing that.Failed to activate the minimap-autohider package, cannot read property onDidChangeScrollTop of null
Uncaught TypeError: this.textEditorElement.getFirstVisibleScreenRow is not a function from minimap
Uncaught TypeError: editorElement.component.pixelPositionForMouseEvent is not a function from linter-ui-default
Uncaught TypeError: Cannot read property 'id' of null
(Rewrite editor rendering layout to use new browser features and virtual DOM #13880 (comment))Contain layout of cursor position and selection count in status barWhen a tile is assigned a different start row, discard all of its lines rather than removing them 1 by 1