freya_core/values/
cursor.rs

1use std::fmt;
2
3use crate::parsing::{
4    Parse,
5    ParseError,
6};
7
8#[derive(Clone, Debug, PartialEq, Eq)]
9pub enum CursorMode {
10    None,
11    Editable,
12}
13
14impl Parse for CursorMode {
15    fn parse(value: &str) -> Result<Self, ParseError> {
16        Ok(match value {
17            "editable" => CursorMode::Editable,
18            _ => CursorMode::None,
19        })
20    }
21}
22
23impl fmt::Display for CursorMode {
24    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
25        f.write_str(match self {
26            CursorMode::Editable => "editable",
27            CursorMode::None => "none",
28        })
29    }
30}