Skip to content
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

Re-engineer the wrapping algorithm & more #88405

Merged
merged 36 commits into from Jan 10, 2020
Merged

Re-engineer the wrapping algorithm & more #88405

merged 36 commits into from Jan 10, 2020

Conversation

@alexdima
Copy link
Member

alexdima commented Jan 10, 2020

Fixes #21196

  • removes wordWrapBreakObtrusiveCharacters from the wrapping algorithm.
  • makes Tab characters have widths that are not influenced by wrapping points
  • introduces an incremental implementation of the wrapping algorithm which uses the previous wrapping points
  • introduces discrete times for when wrapping computation occurs (uses requests and finalize)
  • faster implementation of PieceTreeBase.getLinesContent()
  • introduces LineNumberMapper to handle model-view line mapping queries in the ViewModel (moving away from the PrefixSumComputer)
  • avoids an unnecessary layout in indentGuides.ts

Resizing times using a large file (40000 lines, 5MB): wrapping-large.zip

Before

image

After

image

alexdima added 30 commits Jan 6, 2020
…g points
wip
wip
alexdima added 5 commits Jan 10, 2020
@alexdima alexdima self-assigned this Jan 10, 2020
@alexdima alexdima added this to the January 2020 milestone Jan 10, 2020
@alexdima alexdima merged commit 222b31e into master Jan 10, 2020
@alexdima alexdima deleted the alex/wrapping branch Jan 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.