bendn 6 weeks ago
parent 1c685bb · commit 9e602ff
-rw-r--r--Cargo.lock43
-rw-r--r--Cargo.toml1
-rw-r--r--src/cell.rs6
3 files changed, 42 insertions, 8 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 7764872..03c67fa 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -94,6 +94,7 @@ dependencies = [
"itertools",
"lower",
"lru-cache",
+ "serde",
"swash",
"swizzle",
"umath",
@@ -143,9 +144,9 @@ dependencies = [
[[package]]
name = "flate2"
-version = "1.1.5"
+version = "1.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb"
+checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369"
dependencies = [
"crc32fast",
"miniz_oxide",
@@ -188,9 +189,9 @@ dependencies = [
[[package]]
name = "libc"
-version = "0.2.179"
+version = "0.2.180"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5a2d376baa530d1238d133232d15e239abad80d05838b4b59354e5268af431f"
+checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc"
[[package]]
name = "linked-hash-map"
@@ -295,6 +296,36 @@ dependencies = [
]
[[package]]
+name = "serde"
+version = "1.0.228"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
+dependencies = [
+ "serde_core",
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_core"
+version = "1.0.228"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.228"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
name = "simd-adler32"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -329,9 +360,9 @@ checksum = "9cd32a3a5640a1e8ba59937591c61be77cae746e7c0fa081b24deebb4f7ece4c"
[[package]]
name = "syn"
-version = "2.0.113"
+version = "2.0.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678faa00651c9eb72dd2020cbdf275d92eccb2400d568e419efdd64838145cb4"
+checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a"
dependencies = [
"proc-macro2",
"quote",
diff --git a/Cargo.toml b/Cargo.toml
index 3e79878..20153c8 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -11,6 +11,7 @@ implicit-fn = "0.1.0"
itertools = "0.14.0"
lower = "0.2.0"
lru-cache = "0.1.2"
+serde = { version = "1.0.228", features = ["serde_derive"] }
swash = "0.2.5"
swizzle = "0.1.0"
umath = "0.0.7"
diff --git a/src/cell.rs b/src/cell.rs
index 69ad6b8..19dc500 100644
--- a/src/cell.rs
+++ b/src/cell.rs
@@ -1,4 +1,4 @@
-#[derive(Clone, Copy, Debug, PartialEq, Eq)]
+#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)]
#[repr(C)]
pub struct Style {
pub bg: [u8; 3],
@@ -67,6 +67,8 @@ use std::default::Default::default;
use std::fmt::Debug;
use std::hash::Hash;
use std::ops::{BitAnd, BitAndAssign, BitOr, BitOrAssign};
+
+use serde::{Deserialize, Serialize};
impl Style {
pub const BOLD: u8 = 1;
pub const DIM: u8 = 1 << 1;
@@ -76,7 +78,7 @@ impl Style {
pub const UNDERCURL: u8 = 1 << 5;
pub const USE_SECONDARY_COLOR: u8 = 1 << 7;
}
-#[derive(Clone, Copy, PartialEq, Eq)]
+#[derive(Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[derive_const(Default)]
pub struct Cell {
pub style: Style,