From d5ff97f42ed1e682a66ea8d51e5f9ed1be547b9c Mon Sep 17 00:00:00 2001 From: Laurenz Date: Sun, 2 Aug 2020 16:56:14 +0200 Subject: =?UTF-8?q?Move=20binary=20into=20separate=20crate=20and=20tidy=20?= =?UTF-8?q?dependencies=20=F0=9F=8E=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/syntax/decoration.rs | 7 +++++-- src/syntax/span.rs | 11 ++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) (limited to 'src/syntax') diff --git a/src/syntax/decoration.rs b/src/syntax/decoration.rs index ab327237..13a9ad36 100644 --- a/src/syntax/decoration.rs +++ b/src/syntax/decoration.rs @@ -1,14 +1,17 @@ //! Decorations for semantic syntax highlighting. +#[cfg(feature = "serialize")] use serde::Serialize; + use super::span::SpanVec; /// A list of spanned decorations. pub type Decorations = SpanVec; /// Decorations for semantic syntax highlighting. -#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Serialize)] -#[serde(rename_all = "camelCase")] +#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)] +#[cfg_attr(feature = "serialize", derive(Serialize))] +#[cfg_attr(feature = "serialize", serde(rename_all = "camelCase"))] pub enum Decoration { /// A valid function name. /// ```typst diff --git a/src/syntax/span.rs b/src/syntax/span.rs index 52b90cee..9b3c7d24 100644 --- a/src/syntax/span.rs +++ b/src/syntax/span.rs @@ -2,6 +2,8 @@ use std::fmt::{self, Debug, Formatter}; use std::ops::{Add, Sub}; + +#[cfg(feature = "serialize")] use serde::Serialize; /// Span offsetting. @@ -23,7 +25,8 @@ impl Offset for SpanVec { } /// A value with the span it corresponds to in the source code. -#[derive(Copy, Clone, Eq, PartialEq, Hash, Serialize)] +#[derive(Copy, Clone, Eq, PartialEq, Hash)] +#[cfg_attr(feature = "serialize", derive(Serialize))] pub struct Spanned { /// The value. pub v: T, @@ -77,7 +80,8 @@ impl Debug for Spanned { } /// Locates a slice of source code. -#[derive(Copy, Clone, Eq, PartialEq, Hash, Serialize)] +#[derive(Copy, Clone, Eq, PartialEq, Hash)] +#[cfg_attr(feature = "serialize", derive(Serialize))] pub struct Span { /// The inclusive start position. pub start: Pos, @@ -129,7 +133,8 @@ impl Debug for Span { } /// Zero-indexed line-column position in source code. -#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize)] +#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)] +#[cfg_attr(feature = "serialize", derive(Serialize))] pub struct Pos { /// The zero-indexed line. pub line: usize, -- cgit v1.2.3