freya_core/values/
cursor.rs1use 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}