diff options
| author | Laurenz <laurmaedje@gmail.com> | 2020-08-02 16:56:14 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2020-08-02 16:56:14 +0200 |
| commit | d5ff97f42ed1e682a66ea8d51e5f9ed1be547b9c (patch) | |
| tree | 2fdc3a368c4320051e3f62a460f3912fe5f44c7c /src/syntax | |
| parent | 533374db14087ac54fdc86afa5f009487ac1b850 (diff) | |
Move binary into separate crate and tidy dependencies ðŸŽ
Diffstat (limited to 'src/syntax')
| -rw-r--r-- | src/syntax/decoration.rs | 7 | ||||
| -rw-r--r-- | src/syntax/span.rs | 11 |
2 files changed, 13 insertions, 5 deletions
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<Decoration>; /// 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<T> Offset for SpanVec<T> { } /// 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<T> { /// The value. pub v: T, @@ -77,7 +80,8 @@ impl<T: Debug> Debug for Spanned<T> { } /// 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, |
