enso/app/gui2/shared
Kaz Wesley 343a644051
Syntactic synchronization, automatic parentheses, metadata in Ast (#8893)
- 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.
2024-02-02 10:22:18 +01:00
..
__tests__ improve argument placeholder resolution for partial applications and … (#8794) 2024-01-18 13:13:31 +00:00
ast Syntactic synchronization, automatic parentheses, metadata in Ast (#8893) 2024-02-02 10:22:18 +01:00
dataServer E2E tests (#8239) 2023-11-27 15:48:37 +00:00
languageServer Read custom visualizations (#8180) 2023-11-03 20:09:45 +00:00
languageServerTypes Refactor widgets to handle dynamic config in input (#8624) 2024-01-03 13:37:52 +00:00
util Syntactic synchronization, automatic parentheses, metadata in Ast (#8893) 2024-02-02 10:22:18 +01:00
binaryProtocol.ts E2E tests (#8239) 2023-11-27 15:48:37 +00:00
dataServer.ts E2E tests (#8239) 2023-11-27 15:48:37 +00:00
ensoFile.ts improve argument placeholder resolution for partial applications and … (#8794) 2024-01-18 13:13:31 +00:00
languageServer.ts [GUI2] Widget update handlers (#8545) 2023-12-22 10:59:57 +00:00
languageServerTypes.ts Refactor for YJs AST (#8840) 2024-01-24 19:22:05 +00:00
retry.ts Fixes for Language Server sync server (#8514) 2023-12-19 05:41:14 +00:00
uuid.ts Read custom visualizations (#8180) 2023-11-03 20:09:45 +00:00
websocket.ts E2E tests (#8239) 2023-11-27 15:48:37 +00:00
yjsModel.ts Syntactic synchronization, automatic parentheses, metadata in Ast (#8893) 2024-02-02 10:22:18 +01:00