Skip to content

Commit

Permalink
Merge pull request #27 from marianomarciello/direction
Browse files Browse the repository at this point in the history
Direction: add FromStr trait
  • Loading branch information
mautamu authored Mar 5, 2024
2 parents b5b26d4 + fc397e7 commit 7c48328
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions leftwm-layouts/src/geometry/direction.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use super::Rect;

use serde::{Deserialize, Serialize};
use std::str::FromStr;

/// Represents the four different direction where we can search for a neighbor
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Deserialize, Serialize)]
Expand Down Expand Up @@ -60,6 +61,20 @@ pub enum Direction {
West,
}

impl FromStr for Direction {
type Err = ();

fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
"North" => Ok(Direction::North),
"South" => Ok(Direction::South),
"East" => Ok(Direction::East),
"West" => Ok(Direction::West),
_ => Err(()),
}
}
}

// Find the north neighbor starting from a given `Rect` with index `current` in an array of
// [`Rect`].
fn find_north(rects: &[Rect], current: usize) -> Option<usize> {
Expand Down

0 comments on commit 7c48328

Please sign in to comment.