Rename a block id
geml_renameRename a block id and every reference to it in one document with id-boundary-safe writes, instead of a search-and-replace that also hits shared prefixes.
Instructions
Rename a block id AND every reference to it in the same document, in one id-boundary-safe write. Use this rather than geml_set or a text search-and-replace, which would also hit ids that merely share a prefix. A Markdown heading's anchor is its text, so it is renamed by changing the heading with geml_set (part: head), not here. An old id that does not exist, or a new one already taken, is refused. Returns {ok, file, diagnostics, revision}, with notes when the write did something to say out loud (a block it dropped, an address it changed); a refusal is ok: false with a hint, and the file is unchanged.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| new | Yes | New id | |
| old | Yes | Current id | |
| file | Yes | Document path relative to the server's --root directory, e.g. notes/spec.geml |