Skip to content

Commit

Permalink
Merge pull request #11 from zyk-mjzs/master
Browse files Browse the repository at this point in the history
Replace feature serde_support by serde
  • Loading branch information
d0rianb committed Apr 14, 2024
2 parents ff31fd2 + 3d66ee5 commit 09a3ca5
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 21 deletions.
3 changes: 0 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,3 @@ opt-level = 3
[dependencies]
derivative = "2.2.0"
serde = { version = "1.0", optional = true, features = ["derive"] }

[features]
serde_support = ["serde"]
4 changes: 2 additions & 2 deletions src/document.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ use std::error::Error;
use std::fs;
use std::io::Read;

#[cfg(feature = "serde_support")]
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};

use crate::header::RtfHeader;
use crate::lexer::Lexer;
use crate::parser::{Parser, StyleBlock};

#[derive(Debug, Default, Clone, PartialEq)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub struct RtfDocument {
pub header: RtfHeader,
pub body: Vec<StyleBlock>,
Expand Down
14 changes: 7 additions & 7 deletions src/header.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::collections::HashMap;

#[cfg(feature = "serde_support")]
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};

use crate::paragraph::Paragraph;
Expand All @@ -24,7 +24,7 @@ pub type StyleSheet = HashMap<StyleRef, Style>;

/// Style for the StyleSheet
#[derive(Hash, Default, Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub struct Style {
/// The style attributes
painter: Painter,
Expand All @@ -34,7 +34,7 @@ pub struct Style {

/// Information about the document, including references to fonts & styles
#[derive(Default, Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub struct RtfHeader {
pub character_set: CharacterSet,
pub font_table: FontTable,
Expand All @@ -43,15 +43,15 @@ pub struct RtfHeader {
}

#[derive(Hash, Default, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub struct Font {
pub name: String,
pub character_set: u8,
pub font_family: FontFamily,
}

#[derive(Hash, Default, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub struct Color {
pub red: u8,
pub green: u8,
Expand All @@ -60,7 +60,7 @@ pub struct Color {

#[allow(dead_code)]
#[derive(Debug, PartialEq, Default, Clone, Hash)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub enum CharacterSet {
#[default]
Ansi,
Expand All @@ -81,7 +81,7 @@ impl CharacterSet {
}

#[allow(dead_code)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
#[derive(Debug, PartialEq, Hash, Clone, Default)]
pub enum FontFamily {
#[default]
Expand Down
12 changes: 6 additions & 6 deletions src/paragraph.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/// Define the paragraph related structs and enums

#[cfg(feature = "serde_support")]
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};

use crate::tokens::ControlWord;

#[derive(Debug, Default, Clone, PartialEq, Hash)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub struct Paragraph {
pub alignment: Alignment,
pub spacing: Spacing,
Expand All @@ -16,7 +16,7 @@ pub struct Paragraph {

/// Alignement of a paragraph (left, right, center, justify)
#[derive(Debug, Default, Clone, Copy, PartialEq, Hash)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub enum Alignment {
#[default]
LeftAligned, // \ql
Expand All @@ -39,7 +39,7 @@ impl From<&ControlWord<'_>> for Alignment {

/// The vertical margin before / after a block of text
#[derive(Debug, Default, Clone, PartialEq, Hash)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub struct Spacing {
pub before: i32,
pub after: i32,
Expand All @@ -48,7 +48,7 @@ pub struct Spacing {
}

#[derive(Default, Debug, Clone, PartialEq, Hash)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub enum SpaceBetweenLine {
Value(i32),
#[default]
Expand All @@ -72,7 +72,7 @@ impl From<i32> for SpaceBetweenLine {

// This struct can not be an enum because left-indent and right-ident can both be defined at the same time
#[derive(Default, Debug, Clone, PartialEq, Hash)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub struct Indentation {
pub left: i32,
pub right: i32,
Expand Down
6 changes: 3 additions & 3 deletions src/parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::collections::HashMap;
use std::{fmt, mem};

use derivative::Derivative;
#[cfg(feature = "serde_support")]
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};

use crate::document::RtfDocument;
Expand All @@ -21,15 +21,15 @@ macro_rules! header_control_word {
}

#[derive(Debug, Default, PartialEq, Clone)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub struct StyleBlock {
pub painter: Painter,
pub paragraph: Paragraph,
pub text: String,
}

#[derive(Derivative, Debug, Clone, PartialEq, Hash)]
#[cfg_attr(feature = "serde_support", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
#[derivative(Default)]
pub struct Painter {
pub color_ref: ColorRef,
Expand Down

0 comments on commit 09a3ca5

Please sign in to comment.