Stable identity for cursor-follow across a reorder: a task's id encodes its * index (which a line move changes), but sourcePath + content do not.
(task: VaultTask)
| 624 | /** Stable identity for cursor-follow across a reorder: a task's id encodes its |
| 625 | * index (which a line move changes), but sourcePath + content do not. */ |
| 626 | function taskFollowKey(task: VaultTask): string { |
| 627 | return `${task.sourcePath} ${task.content}` |
| 628 | } |
| 629 | |
| 630 | function cssEscape(value: string): string { |
| 631 | if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') return CSS.escape(value) |