You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 3, 2024. It is now read-only.
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.
The text was updated successfully, but these errors were encountered:
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
changed the title
Support partial-rebuild of forest
Support partial-rebuild of page
Apr 20, 2021
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
The text was updated successfully, but these errors were encountered: