Here is a idea probably floated around before. Create immutable buffer snapshots. This would allow multi-threaded capabilities at core or at plugin level. -> treesitter, lsp, etc. See prototype below:
** Buffer Upgrade **
Make buffer text access go through a buffer-owned interface instead of reaching through buf_T into its memline_T implementation. Why? So that we create immutable buffer snapshots by hooking at buffer mutations.
https://github.com/icedman/vim/tree/buf-upgrade
https://github.com/icedman/vim/blob/buf-upgrade/upgrades/buffer/UPGRADE.md
** Buffer Snapshots **
Create Immutable Buffer Snapshots
https://github.com/icedman/vim/tree/snapshot
https://github.com/icedman/vim/blob/snapshot/upgrades/buffer-snapshot/UPGRADE.md
** Buffer Snapshots **
Sample Usage:
Sample Plugins
https://github.com/icedman/vim/tree/snapshot-plugins
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()