diff options
| -rw-r--r-- | .cargo/config.toml | 3 | ||||
| -rw-r--r-- | .github/workflows/build.yml | 29 | ||||
| -rw-r--r-- | .github/workflows/lint.yml | 17 | ||||
| -rw-r--r-- | src/main.rs | 8 | ||||
| -rw-r--r-- | src/panes/designer_view.rs | 2 | ||||
| -rw-r--r-- | src/theme.rs | 8 | ||||
| -rwxr-xr-x | src/types/rendered_element.rs | 4 |
7 files changed, 60 insertions, 11 deletions
diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..feb6aad --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,3 @@ +[alias] +lint = "clippy --no-deps -- -D warnings" +lint-all = "clippy --no-deps -- -D clippy::pedantic" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..ed56730 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,29 @@ +name: Build +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + toolchain: [stable, nightly] + steps: + - uses: hecrj/setup-rust-action@v2 + with: + rust-version: ${{ matrix.toolchain }} + - uses: actions/checkout@master + - name: Install dependencies + run: | + export DEBIAN_FRONTED=noninteractive + sudo apt-get -qq update + sudo apt-get install -y libxkbcommon-dev libgtk-3-dev + - name: Build iced-builder binary + run: cargo build --verbose --release + - name: Archive iced-builder binary + uses: actions/upload-artifact@v4 + with: + name: iced-builder-x86_64-unknown-linux-gnu + path: target/release/iced-builder diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..4647a07 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,17 @@ +name: Lint +on: [push, pull_request] +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: hecrj/setup-rust-action@v2 + with: + components: clippy + - uses: actions/checkout@master + - name: Install dependencies + run: | + export DEBIAN_FRONTED=noninteractive + sudo apt-get -qq update + sudo apt-get install -y libxkbcommon-dev libgtk-3-dev + - name: Check lints + run: cargo lint diff --git a/src/main.rs b/src/main.rs index 5b95b94..7f935a1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,8 +1,8 @@ -#![feature(test)] mod config; mod dialogs; mod environment; mod error; +#[allow(clippy::all, dead_code)] mod icon; mod panes; mod theme; @@ -167,7 +167,7 @@ impl App { let ids: Vec<Id> = zones.into_iter().map(|z| z.0).collect(); if !ids.is_empty() { let eltree_clone = self.project.element_tree.clone(); - let action = Action::new(&ids, &eltree_clone, None); + let action = Action::new(&ids, eltree_clone.as_ref(), None); let result = name.handle_action( self.project.element_tree.as_mut(), action, @@ -198,7 +198,7 @@ impl App { let eltree_clone = self.project.element_tree.clone(); let action = Action::new( &ids, - &eltree_clone, + eltree_clone.as_ref(), Some(element.get_id()), ); let result = element.handle_action( @@ -346,7 +346,7 @@ impl App { match pane { Panes::Designer => match &self.designer_page { DesignerPage::DesignerView => designer_view::view( - &self.project.element_tree, + self.project.element_tree.as_ref(), self.project.get_theme(&self.config), is_focused, ), diff --git a/src/panes/designer_view.rs b/src/panes/designer_view.rs index 76456db..8dfea5a 100644 --- a/src/panes/designer_view.rs +++ b/src/panes/designer_view.rs @@ -5,7 +5,7 @@ use super::style; use crate::types::{DesignerPage, Message, RenderedElement}; pub fn view<'a>( - element_tree: &Option<RenderedElement>, + element_tree: Option<&RenderedElement>, designer_theme: iced::Theme, is_focused: bool, ) -> pane_grid::Content<'a, Message> { diff --git a/src/theme.rs b/src/theme.rs index 7d18aa9..db16372 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -58,13 +58,13 @@ pub fn theme_from_str( fn palette_to_string(palette: &iced::theme::Palette) -> String { format!( - r#"Palette {{ + r"Palette {{ background: color!(0x{}), text: color!(0x{}), primary: color!(0x{}), success: color!(0x{}), danger: color!(0x{}), - }}"#, + }}", color_to_hex(palette.background), color_to_hex(palette.text), color_to_hex(palette.primary), @@ -75,8 +75,8 @@ fn palette_to_string(palette: &iced::theme::Palette) -> String { fn extended_to_string(extended: &Extended) -> String { format!( - r#" -Extended{{background:Background{{base:Pair{{color:color!(0x{}),text:color!(0x{}),}},weak:Pair{{color:color!(0x{}),text:color!(0x{}),}},strong:Pair{{color:color!(0x{}),text:color!(0x{}),}},}},primary:Primary{{base:Pair{{color:color!(0x{}),text:color!(0x{}),}},weak:Pair{{color:color!(0x{}),text:color!(0x{}),}},strong:Pair{{color:color!(0x{}),text:color!(0x{}),}},}},secondary:Secondary{{base:Pair{{color:color!(0x{}),text:color!(0x{}),}},weak:Pair{{color:color!(0x{}),text:color!(0x{}),}},strong:Pair{{color:color!(0x{}),text:color!(0x{}),}},}},success:Success{{base:Pair{{color:color!(0x{}),text:color!(0x{}),}},weak:Pair{{color:color!(0x{}),text:color!(0x{}),}},strong:Pair{{color:color!(0x{}),text:color!(0x{}),}},}},danger:Danger{{base:Pair{{color:color!(0x{}),text:color!(0x{}),}},weak:Pair{{color:color!(0x{}),text:color!(0x{}),}},strong:Pair{{color:color!(0x{}),text:color!(0x{}),}},}},is_dark:true,}}"#, + r" +Extended{{background:Background{{base:Pair{{color:color!(0x{}),text:color!(0x{}),}},weak:Pair{{color:color!(0x{}),text:color!(0x{}),}},strong:Pair{{color:color!(0x{}),text:color!(0x{}),}},}},primary:Primary{{base:Pair{{color:color!(0x{}),text:color!(0x{}),}},weak:Pair{{color:color!(0x{}),text:color!(0x{}),}},strong:Pair{{color:color!(0x{}),text:color!(0x{}),}},}},secondary:Secondary{{base:Pair{{color:color!(0x{}),text:color!(0x{}),}},weak:Pair{{color:color!(0x{}),text:color!(0x{}),}},strong:Pair{{color:color!(0x{}),text:color!(0x{}),}},}},success:Success{{base:Pair{{color:color!(0x{}),text:color!(0x{}),}},weak:Pair{{color:color!(0x{}),text:color!(0x{}),}},strong:Pair{{color:color!(0x{}),text:color!(0x{}),}},}},danger:Danger{{base:Pair{{color:color!(0x{}),text:color!(0x{}),}},weak:Pair{{color:color!(0x{}),text:color!(0x{}),}},strong:Pair{{color:color!(0x{}),text:color!(0x{}),}},}},is_dark:true,}}", color_to_hex(extended.background.base.color), color_to_hex(extended.background.base.text), color_to_hex(extended.background.weak.color), diff --git a/src/types/rendered_element.rs b/src/types/rendered_element.rs index b001556..05cfb52 100755 --- a/src/types/rendered_element.rs +++ b/src/types/rendered_element.rs @@ -378,7 +378,7 @@ pub enum Action<'a> { impl<'a> Action<'a> { pub fn new( ids: &'a [Id], - element_tree: &'a Option<RenderedElement>, + element_tree: Option<&'a RenderedElement>, source_id: Option<Id>, ) -> Self { let mut action = Self::Stop; @@ -400,7 +400,7 @@ impl<'a> Action<'a> { } _ => ids.last().unwrap(), }; - let mut element_tree = element_tree.clone().unwrap(); + let mut element_tree = element_tree.unwrap().clone(); let element = element_tree.find_by_id(id).unwrap(); // Element is a parent and isn't a non-empty container |
