aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-view/src/graphics.rs30
1 files changed, 3 insertions, 27 deletions
diff --git a/helix-view/src/graphics.rs b/helix-view/src/graphics.rs
index c9dd21e3..acdaa696 100644
--- a/helix-view/src/graphics.rs
+++ b/helix-view/src/graphics.rs
@@ -1,12 +1,12 @@
-use anyhow::{anyhow, Error};
use bitflags::bitflags;
-use serde::de::{self, Deserialize, Deserializer};
+use serde::Deserialize;
use std::{
cmp::{max, min},
str::FromStr,
};
-#[derive(Debug, Clone, Copy, PartialEq)]
+#[derive(Debug, Clone, Copy, PartialEq, Deserialize)]
+#[serde(rename_all = "lowercase")]
/// UNSTABLE
pub enum CursorKind {
/// █
@@ -25,30 +25,6 @@ impl Default for CursorKind {
}
}
-impl FromStr for CursorKind {
- type Err = Error;
-
- fn from_str(s: &str) -> Result<Self, Self::Err> {
- match s {
- "bar" => Ok(Self::Bar),
- "block" => Ok(Self::Block),
- "underline" => Ok(Self::Underline),
- _ => Err(anyhow!("Invalid cursor '{}'", s)),
- }
- }
-}
-
-// toml deserializer doesn't seem to recognize string as enum
-impl<'de> Deserialize<'de> for CursorKind {
- fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
- where
- D: Deserializer<'de>,
- {
- let s = String::deserialize(deserializer)?;
- s.parse().map_err(de::Error::custom)
- }
-}
-
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct Margin {
pub vertical: u16,