-
Notifications
You must be signed in to change notification settings - Fork 323
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
Keeping metadata as part of AST. #8804
Comments
Keziah Wesley reports a new STANDUP for yesterday (2024-01-30): Progress: Addressing review, testing, fixing issues (mostly e2e setup) in the combined ASTs/parentheses/metadata PR. It should be finished by 2024-02-02. Next Day: Next day I will be working on the #8238 task. Add idmap repair, a reparse fallback if tree-repair fails, fix packaging issue. |
Keziah Wesley reports a new STANDUP for yesterday (2024-01-31): Progress: Added idmap repair, a reparse fallback if tree-repair fails, worked on packaging issue. It should be finished by 2024-02-02. Next Day: Next day I will be working on the #8238 task. Start working on text edits. |
) - Synchronize Y.Js clients by AST (implements #8237). - Before committing an edit, insert any parentheses-nodes needed for the concrete syntax to reflect tree structure (fixes #8884). - Move `externalId` and all node metadata into a Y.Map owned by each `Ast`. This allows including metadata changes in an edit, enables Y.Js merging of changes to different metadata fields, and will enable the use of Y.Js objects in metadata. (Implements #8804.) ### Important Notes - Metadata is now set and retrieved through accessors on the `Ast` objects. - Since some metadata edits need to take effect in real time (e.g. node dragging), new lower-overhead APIs (`commitDirect`, `skipTreeRepair`) are provided for careful use in certain cases. - The client is now bundled as ESM. - The build script cleans up git-untracked generated files in an outdated location, which fixes lint errors related to `src/generated` that may occur when switching branches.
Instead of keeping metadata in a separate map, we could keep it in AST nodes (also in YDocs representation of those).
The text was updated successfully, but these errors were encountered: