{ "lexicon": 1, "id": "sh.weaver.edit.cursor", "defs": { "main": { "type": "record", "description": "An edit record for a notebook.", "key": "tid", "record": { "type": "object", "required": ["container", "id"], "properties": { "id": { "type": "ref", "ref": "#id" }, "container": { "type": "ref", "ref": "#containerId" }, "side": { "type": "ref", "ref": "#cursorSide" } } } }, "id": { "type": "object", "required": ["peer", "counter"], "properties": { "peer": { "type": "integer" }, "counter": { "type": "integer" } } }, "cursorSide": { "type": "object", "required": ["value"], "properties": { "value": { "type": "integer", "description": "The side of an item the cursor is on (left = -1, right = 1, middle = 0)", "enum": [-1, 0, 1] } } }, "containerId": { "type": "object", "required": ["value"], "properties": { "value": { "type": "union", "refs": ["#normalContainerId", "#rootContainerId"] } } }, "normalContainerId": { "type": "object", "required": ["peer", "counter", "container_type"], "properties": { "peer": { "type": "integer" }, "counter": { "type": "integer" }, "container_type": { "type": "string", "enum": ["Map", "List", "Text", "Tree", "MovableList", "Counter"] } } }, "rootContainerId": { "type": "object", "required": ["name", "container_type"], "properties": { "name": { "type": "string" }, "container_type": { "type": "string", "enum": ["Map", "List", "Text", "Tree", "MovableList", "Counter"] } } } } }