Skip to content
This repository has been archived by the owner on Jan 3, 2024. It is now read-only.

Support partial-rebuild of page #80

Open
chipsenkbeil opened this issue Nov 2, 2020 · 1 comment
Open

Support partial-rebuild of page #80

chipsenkbeil opened this issue Nov 2, 2020 · 1 comment
Labels
enhancement New feature or request
Milestone

Comments

@chipsenkbeil
Copy link
Owner

Today, the vimwiki-server must reparse an entire file if any part of it changed. For smaller files, this is fine. Even for specification.wiki, reparsing is still under 500 milliseconds.

However, this will obviously not scale.

Need to support a partial rebuild where one or more ranges are given that need to be reparsed. This is compared to the tree so we know if an inline element, an inline block element, a block element, or multiple block elements need to be re-evaluated.

@chipsenkbeil chipsenkbeil added the enhancement New feature or request label Nov 2, 2020
@chipsenkbeil chipsenkbeil added this to the backlog milestone Nov 2, 2020
@chipsenkbeil
Copy link
Owner Author

This may require switching our parser over to streaming instead of complete. This way, if we change some element to an unfinished form that could continue beyond the scope we provide, we would know.

The hard part would be for list items, tables, and other objects that may continue beyond their scope. I haven't thought through how much of a problem this would be or how to handle it. It may not be a big deal to support, or it may be really challenging.

@chipsenkbeil chipsenkbeil changed the title Support partial-rebuild of forest Support partial-rebuild of page Apr 20, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant