markdown-live-preview 0.1.0

A live Markdown preview server with WebSocket and HTML rendering
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize)]
#[serde(tag = "event", rename_all = "snake_case")]
pub enum OutgoingMessage {
    FullRender {
        html: String,
    },
    #[allow(dead_code)]
    Pong,
}
#[derive(Debug, Deserialize, Serialize, Clone)]
#[serde(tag = "event", content = "data", rename_all = "snake_case")]
pub enum Message {
    Init(InitMessage),
    BufferChange(BufferChangeMessage),
    CursorMoved(CursorMessage),
}

#[derive(Debug, Deserialize, Serialize, Clone)]
pub struct CursorMessage {
    pub cursor: (usize, usize),
}

#[derive(Debug, Deserialize, Serialize, Clone)]
pub struct InitMessage {
    pub content: Vec<String>,
    pub cursor: (usize, usize),
}

#[derive(Debug, Deserialize, Serialize, Clone)]
pub struct BufferChangeMessage {
    pub line: usize,
    pub new_text: String,
}