Expand description
Reovim Server - the editing engine.
This crate provides the server-side implementation of reovim:
- Session management with shared state
- Buffer operations via kernel
- gRPC v2 protocol services
§Architecture
The server follows mechanism/policy separation (Unix philosophy):
- Server provides WHAT: raw buffer data, cursor position, options
- Client decides HOW: rendering, gutters, decorations, themes
§Example
ⓘ
use reovim_server::{Server, ServerConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = ServerConfig::grpc(12540);
let server = Server::new(config);
server.run().await?;
Ok(())
}Re-exports§
pub use app::AppState;pub use config::ServerConfig;pub use config::TransportMode;pub use registry::CommandQuerySnapshot;pub use registry::CommandRegistry;pub use registry::KeymapRegistry;pub use registry::ModeEntry;pub use registry::ModeRegistry;pub use session::Session;pub use session::SessionId;pub use session::SessionRegistry;pub use session::SessionState;pub use session::SyntaxStreamState;
Modules§
- app
- Application state for the server.
- config
- Server configuration types.
- debug
- Debug infrastructure for post-mortem analysis.
- grpc
- gRPC v2 protocol implementation.
- registry
- Registries for modes, commands, and keymaps.
- session
- Session management for the server.
Structs§
- Server
- The reovim server.
- Syntax
Session State - Per-session syntax state stored in
ExtensionMap.
Enums§
- KeyLookup
Result - Result of key lookup after policy is applied.
Type Aliases§
- Session
Factory - Session factory function type.