From 0c1b09404b0fbc7fea8879b4c900d27fa73569b2 Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Wed, 16 Oct 2024 16:20:55 -0500 Subject: [PATCH] Fix rustfmt and nixfmt --- flake.nix | 2 +- src/board.rs | 52 +++++++++++++++++++++++---------------------- src/cell.rs | 6 +++--- src/display/cell.rs | 26 ++++++++++++----------- src/display/mod.rs | 2 +- src/lib.rs | 4 ++-- src/main.rs | 28 +++++++++++------------- 7 files changed, 60 insertions(+), 60 deletions(-) diff --git a/flake.nix b/flake.nix index 1572889..f71b6df 100644 --- a/flake.nix +++ b/flake.nix @@ -56,7 +56,7 @@ wayland libxkbcommon ]; - + env = [ { name = "LD_LIBRARY_PATH"; diff --git a/src/board.rs b/src/board.rs index f4ea623..32fdecd 100644 --- a/src/board.rs +++ b/src/board.rs @@ -1,7 +1,7 @@ use crate::cell::{Cell, CellValue}; +use ndarray::{prelude::*, ViewRepr}; use std::collections::HashSet; use std::fmt; -use ndarray::{prelude::*, ViewRepr}; const REGION_SIZE: usize = 9; const SUB_REGION_SIZE: usize = 3; @@ -30,9 +30,7 @@ impl fmt::Display for Board { impl Board { pub fn new() -> Board { let cells = Array2::zeros((REGION_SIZE, REGION_SIZE)); - let board = Board { - cells, - }; + let board = Board { cells }; board } @@ -44,7 +42,7 @@ impl Board { self.cells[point.coordinates()].set_value(value); self.update_related(point, value); } - + pub fn update_related(&mut self, point: &Point, value: CellValue) { self.update_column(point, value); self.update_row(point, value); @@ -82,8 +80,11 @@ impl Board { pub fn col_range(&self) -> std::ops::Range { 0..REGION_SIZE } - - pub fn square_iter(&self, point: &Point) -> ndarray::ArrayBase, Dim<[usize; 2]>> { + + pub fn square_iter( + &self, + point: &Point, + ) -> ndarray::ArrayBase, Dim<[usize; 2]>> { let row_bounds = point.row_bounds(); let col_bounds = point.col_bounds(); self.cells.slice(s![row_bounds, col_bounds]) @@ -92,7 +93,7 @@ impl Board { pub fn row_iter(&self, row: usize) -> ndarray::ArrayBase, Dim<[usize; 1]>> { self.cells.slice(s![row, ..]) } - + pub fn col_iter(&self, col: usize) -> ndarray::ArrayBase, Dim<[usize; 1]>> { self.cells.slice(s![.., col]) } @@ -101,30 +102,31 @@ impl Board { #[derive(PartialEq, Debug)] pub struct Point { row: usize, - col: usize + col: usize, } impl Point { pub fn new(row: usize, col: usize) -> Point { - Point { - row, col - } + Point { row, col } } fn coordinates(&self) -> [usize; 2] { [self.row, self.col] } - + fn _bounds(val: usize) -> std::ops::Range { let mut start = val / (SUB_REGION_SIZE as usize); start *= SUB_REGION_SIZE; - std::ops::Range {start, end: start + SUB_REGION_SIZE} + std::ops::Range { + start, + end: start + SUB_REGION_SIZE, + } } fn row_bounds(&self) -> std::ops::Range { Self::_bounds(self.row) } - + fn col_bounds(&self) -> std::ops::Range { Self::_bounds(self.col) } @@ -138,13 +140,13 @@ mod test { #[test] fn bounds_are_correct() { - let origin = Point{ row: 0, col: 0}; + let origin = Point { row: 0, col: 0 }; assert_eq!(origin.row_bounds(), 0..3); assert_eq!(origin.col_bounds(), 0..3); - let one = Point{ row: 1, col: 1}; + let one = Point { row: 1, col: 1 }; assert_eq!(one.row_bounds(), 0..3); assert_eq!(one.col_bounds(), 0..3); - let five = Point{ row: 5, col: 7}; + let five = Point { row: 5, col: 7 }; assert_eq!(five.row_bounds(), 3..6); assert_eq!(five.col_bounds(), 6..9); } @@ -152,24 +154,24 @@ mod test { #[test] fn has_none_values() { let board = Board::new(); - assert!(board.value(&Point{row: 0, col: 0}).is_none()); + assert!(board.value(&Point { row: 0, col: 0 }).is_none()); } #[test] fn set_value_updates_cell() { let mut board = Board::new(); - board.set_value(&Point{row: 0, col: 0}, CellValue::One); - let val = board.value(&Point{row: 0, col: 0}).unwrap(); + board.set_value(&Point { row: 0, col: 0 }, CellValue::One); + let val = board.value(&Point { row: 0, col: 0 }).unwrap(); assert_eq!(val, CellValue::One); // Same column - assert_not_contains!(board.candidates(&Point{row: 1, col: 0}), &CellValue::One); + assert_not_contains!(board.candidates(&Point { row: 1, col: 0 }), &CellValue::One); // Same row - assert_not_contains!(board.candidates(&Point{row: 0, col: 1}), &CellValue::One); + assert_not_contains!(board.candidates(&Point { row: 0, col: 1 }), &CellValue::One); // Same sub-structure - assert_not_contains!(board.candidates(&Point{row: 1, col: 1}), &CellValue::One); + assert_not_contains!(board.candidates(&Point { row: 1, col: 1 }), &CellValue::One); // Different row - assert_contains!(board.candidates(&Point{row: 8, col: 8}), &CellValue::One); + assert_contains!(board.candidates(&Point { row: 8, col: 8 }), &CellValue::One); } } diff --git a/src/cell.rs b/src/cell.rs index 68b679f..99fac2a 100644 --- a/src/cell.rs +++ b/src/cell.rs @@ -1,5 +1,5 @@ -use std::collections::HashSet; use num_traits::identities::Zero; +use std::collections::HashSet; use std::ops::Add; use std::string::ToString; @@ -27,7 +27,7 @@ impl ToString for CellValue { CellValue::Six => String::from("6"), CellValue::Seven => String::from("7"), CellValue::Eight => String::from("8"), - CellValue::Nine => String::from("9") + CellValue::Nine => String::from("9"), } } } @@ -84,7 +84,7 @@ impl Zero for Cell { candidates, } } - + fn is_zero(&self) -> bool { self.value.is_none() } diff --git a/src/display/cell.rs b/src/display/cell.rs index 94fec90..6b90cea 100644 --- a/src/display/cell.rs +++ b/src/display/cell.rs @@ -1,6 +1,10 @@ -use iced::{border::Radius, widget::{button, text}, Background, Border, Color, Shadow, Theme}; use super::super::cell::Cell; use super::Message; +use iced::{ + border::Radius, + widget::{button, text}, + Background, Border, Color, Shadow, Theme, +}; const LIGHT_GRAY: Color = Color { r: 0.5, @@ -19,22 +23,20 @@ pub fn widget(cell: &Cell) -> iced::Element { .style(|theme: &Theme, status| { // Get the current theme's palette let palette = theme.palette(); - + // Create a default border, since we need to set off the cells // TODO: Figure out how to get this out of the theme? let mut border = Border::default().color(LIGHT_GRAY); border.width = 1.0; - + // Return a style based on the status match status { - button::Status::Active => { - button::Style{ - background: Some(Background::from(palette.background)), - text_color: palette.text, - border, - shadow: Shadow::default(), - } - } + button::Status::Active => button::Style { + background: Some(Background::from(palette.background)), + text_color: palette.text, + border, + shadow: Shadow::default(), + }, _ => { let mut style = button::primary(theme, status); style.border.radius = Radius::new(0); @@ -46,4 +48,4 @@ pub fn widget(cell: &Cell) -> iced::Element { .width(50) .on_press(Message::Pressed) .into() -} \ No newline at end of file +} diff --git a/src/display/mod.rs b/src/display/mod.rs index 13390ab..6a3dcec 100644 --- a/src/display/mod.rs +++ b/src/display/mod.rs @@ -3,4 +3,4 @@ pub enum Message { Pressed, } -pub mod cell; \ No newline at end of file +pub mod cell; diff --git a/src/lib.rs b/src/lib.rs index 061a730..5c0a4f9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,8 +1,8 @@ -mod cell; mod board; +mod cell; pub mod display; pub use board::Board; pub use board::Point; pub use cell::Cell; -pub use cell::CellValue; \ No newline at end of file +pub use cell::CellValue; diff --git a/src/main.rs b/src/main.rs index 3332af4..d18b99e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,8 @@ -use rustdoku::Board; use rustdoku::display; +use rustdoku::Board; use iced; - struct State { board: Board, message: String, @@ -25,22 +24,19 @@ fn update(state: &mut State, _message: display::Message) { fn display(state: &State) -> iced::Element { let mut column: Vec> = Vec::with_capacity(9); for row_idx in state.board.row_range() { - let row: Vec> = state.board - .row_iter(row_idx) - .into_iter() - .map(|c| display::cell::widget(c)) - .into_iter() - .collect(); - column.push( - iced::widget::Row::with_children(row) - .into() - ); + let row: Vec> = state + .board + .row_iter(row_idx) + .into_iter() + .map(|c| display::cell::widget(c)) + .into_iter() + .collect(); + column.push(iced::widget::Row::with_children(row).into()); } - - iced::widget::Column::with_children(column) - .into() + + iced::widget::Column::with_children(column).into() } fn main() -> iced::Result { iced::run("SuDoKu", update, display) -} \ No newline at end of file +}