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}