New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use new text-buffer version with a more efficient DisplayLayer #13453

Merged
merged 27 commits into from Dec 16, 2016

Conversation

Projects
None yet
6 participants
@maxbrunsfeld
Copy link
Contributor

maxbrunsfeld commented Dec 14, 2016

Depends on atom/text-buffer#185. See that PR for a more thorough description.

Fixes #8864
Fixes #12391

This removes some restrictions that we previously enforced when editing large files; you can now use folds and soft wraps. The only feature that remains disabled for > 10MB files is syntax highlighting.

Large files also now open somewhat faster. Here are some benchmark results from Circle CI before and after this PR:

benchmarks

There are lot of noise in these results of course, but opening a 10MB file is consistently ~200ms faster.

nathansobo and others added some commits Dec 1, 2016

Use position translation to detect soft wraps when rendering line nums
Signed-off-by: Antonio Scandurra <as-cii@github.com>
Use new boundary methods for moving lines up/down
Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
Update test to reflect new soft wrap indent clipping behavior
Signed-off-by: Nathan Sobo <nathan@github.com>
Clip screen range end backward when dragging gutter
Signed-off-by: Nathan Sobo <nathan@github.com>
Expect a single leading whitespace token w/ atomic soft tabs & indent…
… guides disabled

Signed-off-by: Nathan Sobo <nathan@github.com>
Adjust assertion now that paired characters aren't wrapped in spans
Signed-off-by: Nathan Sobo <nathan@github.com>
Remove unnecessary comparisons to current params in TextEditor.update
Now the DisplayLayer internally avoids unnecessary work when reset() is
called with its existing parameters.
@@ -65,7 +65,7 @@
"sinon": "1.17.4",
"source-map-support": "^0.3.2",
"temp": "0.8.1",
"text-buffer": "9.4.3",
"text-buffer": "v10.0.0-4",

This comment has been minimized.

@50Wliu

50Wliu Dec 15, 2016

Member

This should be 10.0.0-4 to be consistent, right?

This comment has been minimized.

@maxbrunsfeld

maxbrunsfeld Dec 15, 2016

Author Contributor

Oh yeah, thanks. I'll fix this when I bump it to 10.0.0.

maxbrunsfeld and others added some commits Dec 15, 2016

⬆️ find-and-replace
To remove dependency on old Patch
@Ben3eeE

This comment has been minimized.

Copy link
Member

Ben3eeE commented Dec 16, 2016

Really loving this 🐎 😻 will test it out more with the new spell-check and whitespace changes tonight(Late American morning). But don't wait for me if you want to go ahead and :shipit:

@ungb @maxbrunsfeld Want to drop #11690 here since it is an uncaught that reproduces with large files. We don't have a file to repro or any steps other than open a large file but I believe it can be worth some 👀 given these changes.

@maxbrunsfeld maxbrunsfeld merged commit 2095015 into master Dec 16, 2016

5 checks passed

ci/circleci Your tests passed on CircleCI!
Details
continuous-integration/appveyor/branch AppVeyor build succeeded
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details

@maxbrunsfeld maxbrunsfeld deleted the mb-ns-integrate-new-display-layer branch Dec 16, 2016

@maxbrunsfeld

This comment has been minimized.

Copy link
Contributor Author

maxbrunsfeld commented Dec 16, 2016

@Ben3eeE I believe #11690 is due to a separate limitation: we store the entire contents of a file in JavaScript string, and strings have a hard limit on their lengths. This PR does not fix that issue.

@Stanzilla

This comment has been minimized.

Copy link

Stanzilla commented Dec 18, 2016

@maxbrunsfeld This changes nothing for #1667, right?

@maxbrunsfeld

This comment has been minimized.

Copy link
Contributor Author

maxbrunsfeld commented Dec 18, 2016

This changes nothing for #1667, right?

Right. It does not address that issue.

@alexandernst

This comment has been minimized.

Copy link

alexandernst commented Dec 18, 2016

@maxbrunsfeld Is there an issue which we can track for ast parsing/syntax highlight? Where can we expect such a feature to be ready?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment