Skip to content

m10090/pairwriter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pairwriter

This repository contains the Rust backend that powers the core functionality of the pairwriter.nvim Neovim plugin and pairwriter-vsc Visual Studio Code extension. The backend provides efficient and reliable text synchronization, leveraging Rust's performance and safety features, and is exposed via Foreign Function Interface (FFI) for integration with these front-end tools.

Features

  • High Performance: Built in Rust for speed and memory safety.
  • FFI Integration: Exposes a C-compatible API for interaction with Neovim and Visual Studio Code via plugins/extensions.
  • Text Synchronization: Provides robust mechanisms for text editing collaboration and synchronization across multiple platforms.
  • Cross-Platform Support: Works on major operating systems including Linux, macOS, and Windows.

Neovim

The pairwriter.nvim plugin relies on this backend to provide its core functionality. To set it up:

  1. Install the pairwriter.nvim plugin.
  2. Ensure that the shared library generated by this backend is accessible to Neovim.
  3. Configure the plugin to use the backend library for communication and synchronization.

For more details, refer to the pairwriter.nvim README.

VSCode

Similarly, pairwriter-vsc uses this backend to power its features. After building the backend:

  1. Install the pairwriter-vsc extension.
  2. Configure the extension to load the backend's shared library.
  3. The extension will communicate with the backend to handle real-time text synchronization and editing features.

For detailed setup instructions, please refer to the pairwriter-vsc README.

Contributing

Contributions are welcome! Feel free to open issues, submit pull requests, or propose new features to improve the backend and its integration with Neovim and Visual Studio Code.

Future

This project is currently in the prototype stage. While it provides a basic level of functionality through FFI integration, future development could include implementing a dedicated Language Server Protocol (LSP) layer of communication. This would enable a more robust and feature-rich text synchronization experience, as well as open the door for additional collaborative features and editor integrations beyond Neovim and Visual Studio Code.

Stay tuned for future updates as the project evolves!

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

WIP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published