-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: Split codebase into client-server architecture #131
base: master
Are you sure you want to change the base?
Conversation
cc85acf
to
0918d7e
Compare
nvim does expose its msgpack encoder through |
96c2d3d
to
8ef3177
Compare
27902ae
to
f8b7e0b
Compare
This isn’t directly related to the plugin itself, but since we support oil.nvim by default, I wanted to bring it up as it might cause issues for oil.nvim users. The problem is that the current buffer gets set to an invalid/incomplete path, missing a colon after the drive letter, which interferes with workspace detection. I believe this also affects the previous version of cord.nvim. While we could work around this with string manipulation to add the colon, it’s not ideal. It’d be fantastic if this could be addressed in oil.nvim directly. Tracked in stevearc/oil.nvim#531. |
…to client-server
…to client-server
Description
This PR introduces a client-server architecture for the plugin, replacing the dynamic library loaded via FFI. The primary goal is to improve flexibility and maintainability. The server can potentially run independently of Neovim, allowing multiple Lua clients to connect to the same underlying server. Communication between the client and server will use named pipes on Windows and Unix domain sockets on Unix-like systems, with MessagePack as the communication format. The server could also stay active for a brief moment after all clients have disconnected to handle Discord's rate limits more effectively.
Considerations
Todos
docs
anddashboard
. (icon request: vim docs/help #129, Add support for "start screen" plugins #89)