NvimAPI owns sockets, pipes, background loops, and sometimes a Neovim process, but cannot currently be disposed.
Add IDisposable/IAsyncDisposable with clear ownership:
- internally created processes and transports are owned;
- supplied processes, streams, and standard I/O are borrowed;
- disposal stops background work, closes owned resources, completes pending requests, and unblocks
WaitForDisconnect().
Add focused lifecycle tests and preserve existing RPC behaviour.
This can be implemented alongside the generator redesign in #31 and should land before #36.
Blocked by #30.
NvimAPIowns sockets, pipes, background loops, and sometimes a Neovim process, but cannot currently be disposed.Add
IDisposable/IAsyncDisposablewith clear ownership:WaitForDisconnect().Add focused lifecycle tests and preserve existing RPC behaviour.
This can be implemented alongside the generator redesign in #31 and should land before #36.
Blocked by #30.