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

Virtual Lines #1713

Draft
wants to merge 51 commits into
base: master
Choose a base branch
from
Draft

Conversation

adamharrison
Copy link
Member

@adamharrison adamharrison commented Jan 21, 2024

So, finally I've decided to take a crack at virtual lines. This'll make things like word wrapping, code folding, highlighting, and other things like that significantly easier to implement.

I've also moved most things like selections from doc to docview so we don't have the weird issue of spilt views sharing selections and other things like that.

Overall it should be a wash in terms of the amount of code; it's basically just unifying the disparate ways of modifying tokens to be drawn into a single system that hopefully won't overly affect performance.

I've also bumped the modversion as this is going to break a lot of stuff; I've tried to keep the interfaces roughly the same, but it's just too big a refactor to not bump modversion.

Also includes a codefolding plugin to take advantage of the new system.

@dhilfer
Copy link

dhilfer commented Jul 14, 2024

After half a year has passed, is there any chance to get this (awesome piece of) code into master? That would fix #62, #939, #1367, #1447 and make a lot of people happy.

@adamharrison
Copy link
Member Author

Yeah; I know. It's still broken, though. I've gotta fix it up. It's definitely on my radar, but my priority right now is #1455. They'll both go in for the same release, as they basically both necessitate breaking the plugin infrastructure.

@dhilfer
Copy link

dhilfer commented Jul 24, 2024

Thanks for answer. I wish you well in your efforts. We'll just need to wait some more :)

…ugin, removed project limit, removed the concept of a project maintaining an ordered list of files, and allowed treeview to see things like hidden files and files not actually in the project.

Normalizing things, fixed typo.

Abstracted root project, and made things more in line with current master behaviour.

Removed unused legacy code, as well as ensured that we use absolute paths.

Fixed issue with backslahes on linux, will look at windows at some point.

Removed stray print.

Removed orphaned function.

Removed extraneous command.

Fixed the ability to close project folders.

Removed superceded function.

Applied jgm's suggestions.
@adamharrison adamharrison force-pushed the PR/virtual-lines branch 3 times, most recently from 6734274 to 9090c7c Compare January 5, 2025 03:58
Initial commit of virtual lines PR.

Making it so that linewrapping also works.

Things proceed apace.

We proceed apace.

Fixed many things.

Fixed a number of bugs.

Standardizing naming conventions.

Fixed issue with resolving screen position on multi-lines.

Added in read-only mode.

Fixed selections.

Gloriously beautiful.

Uncommented modified selcetions.

Rearranged things to be more abstracted.

Fixed line length issue.

Rearchitected token storage.

Fixed invalidations.

Hooked up highlighter to syntax highlighting.

Added in rqeuest to tokenize extra lines.

Reduced size.

Bumped modversion.

Fixed issue with cache not resizing appropriately.

Changed over resolve_screen_position to new system.

Mixed up order of parameters.

Small little bug fixes.

Ensure we don't wrap over.

Removed dev statement.

More small fixes.

Fixed some codefolding and autocomplete issues.

Fixed up plugins that still use doc.
@adamharrison
Copy link
Member Author

This is getting closer. We're nearly there. I've rebased this ontop of project rework; and have incorporated this into my daily driver lxl. It's near-stable.

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

Successfully merging this pull request may close these issues.

2 participants