Skip to main content

cursive_tree/model/
symbol.rs

1use cursive::{style::*, utils::span::*};
2
3//
4// Symbol
5//
6
7/// Tree node symbol.
8///
9/// Note that its char count *must be 1*.
10pub enum Symbol<'string> {
11    /// Spanned string (potentially styled).
12    SpannedString(SpannedString<Style>),
13
14    /// String (plain).
15    String(&'string str),
16}
17
18impl<'string> From<SpannedString<Style>> for Symbol<'string> {
19    fn from(string: SpannedString<Style>) -> Self {
20        Self::SpannedString(string)
21    }
22}
23
24impl<'string> From<&'string str> for Symbol<'string> {
25    fn from(string: &'string str) -> Self {
26        Self::String(string)
27    }
28}