From 9e34199ca9b9c5ad7717a2dd99124819e6df1389 Mon Sep 17 00:00:00 2001 From: Keavon Chambers Date: Fri, 5 Aug 2022 17:09:37 -0700 Subject: [PATCH] Additional cleanup of prelude imports in editor codebase Closes #744 --- .vscode/settings.json | 2 +- editor/src/dispatcher.rs | 2 -- .../broadcast/broadcast_message_handler.rs | 2 -- .../src/messages/debug/debug_message_handler.rs | 2 -- editor/src/messages/dialog/dialog_message.rs | 2 -- .../export_dialog_message_handler.rs | 3 --- .../new_document_dialog_message_handler.rs | 1 - .../simple_dialogs/close_document_dialog.rs | 1 - .../src/messages/input_mapper/default_mapping.rs | 1 - .../input_preprocessor_message_handler.rs | 3 --- .../src/messages/layout/layout_message_handler.rs | 1 - .../layout/utility_types/layout_widget.rs | 2 -- .../document/artboard/artboard_message_handler.rs | 3 +-- .../document/document_message_handler.rs | 1 - .../document/movement/movement_message_handler.rs | 1 - .../transform_layer_message_handler.rs | 1 - .../menu_bar/menu_bar_message_handler.rs | 3 --- .../portfolio/portfolio_message_handler.rs | 1 - editor/src/messages/prelude.rs | 15 ++++++++------- .../tool/common_functionality/overlay_renderer.rs | 1 - .../tool/common_functionality/path_outline.rs | 1 - .../tool/common_functionality/shape_editor.rs | 1 - editor/src/messages/tool/tool_message_handler.rs | 2 -- editor/src/messages/tool/utility_types.rs | 1 - editor/src/utility_traits.rs | 4 ---- proc-macros/src/lib.rs | 3 +-- 26 files changed, 11 insertions(+), 49 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 166ded0dd6..236f961864 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -28,6 +28,7 @@ // Rust Analyzer config "rust-analyzer.cargo.target": "wasm32-unknown-unknown", "rust-analyzer.checkOnSave.command": "clippy", + "rust-analyzer.diagnostics.disabled": ["unresolved-macro-call"], // Remove when https://github.com/rust-lang/rust-analyzer/issues/6835 is fixed // ESLint config "eslint.format.enable": true, "eslint.workingDirectories": [ @@ -46,5 +47,4 @@ "html.format.wrapLineLength": 200, "files.eol": "\n", "files.insertFinalNewline": true, - "rust-analyzer.procMacro.attributes.enable": true, } diff --git a/editor/src/dispatcher.rs b/editor/src/dispatcher.rs index 6bc96e29ec..d0d4db5b14 100644 --- a/editor/src/dispatcher.rs +++ b/editor/src/dispatcher.rs @@ -4,8 +4,6 @@ use crate::messages::prelude::*; use graphene::layers::text_layer::Font; -use std::collections::VecDeque; - #[derive(Debug, Default)] pub struct Dispatcher { message_queues: Vec>, diff --git a/editor/src/messages/broadcast/broadcast_message_handler.rs b/editor/src/messages/broadcast/broadcast_message_handler.rs index 4b019621bf..c463f72e1c 100644 --- a/editor/src/messages/broadcast/broadcast_message_handler.rs +++ b/editor/src/messages/broadcast/broadcast_message_handler.rs @@ -1,7 +1,5 @@ use crate::messages::prelude::*; -use std::collections::HashMap; - #[derive(Debug, Clone, Default)] pub struct BroadcastMessageHandler { listeners: HashMap>, diff --git a/editor/src/messages/debug/debug_message_handler.rs b/editor/src/messages/debug/debug_message_handler.rs index 651a9652ca..4a5a780b2f 100644 --- a/editor/src/messages/debug/debug_message_handler.rs +++ b/editor/src/messages/debug/debug_message_handler.rs @@ -1,8 +1,6 @@ use super::utility_types::MessageLoggingVerbosity; use crate::messages::prelude::*; -use std::collections::VecDeque; - #[derive(Debug, Default)] pub struct DebugMessageHandler { pub message_logging_verbosity: MessageLoggingVerbosity, diff --git a/editor/src/messages/dialog/dialog_message.rs b/editor/src/messages/dialog/dialog_message.rs index 1c9cefb16c..cb57109be7 100644 --- a/editor/src/messages/dialog/dialog_message.rs +++ b/editor/src/messages/dialog/dialog_message.rs @@ -1,5 +1,3 @@ -use super::export_dialog::ExportDialogMessage; -use super::new_document_dialog::NewDocumentDialogMessage; use crate::messages::prelude::*; use serde::{Deserialize, Serialize}; diff --git a/editor/src/messages/dialog/export_dialog/export_dialog_message_handler.rs b/editor/src/messages/dialog/export_dialog/export_dialog_message_handler.rs index a842492c5f..cbb7038b6d 100644 --- a/editor/src/messages/dialog/export_dialog/export_dialog_message_handler.rs +++ b/editor/src/messages/dialog/export_dialog/export_dialog_message_handler.rs @@ -1,4 +1,3 @@ -use super::ExportDialogMessage; use crate::messages::frontend::utility_types::{ExportBounds, FileType}; use crate::messages::layout::utility_types::layout_widget::{Layout, LayoutGroup, PropertyHolder, Widget, WidgetCallback, WidgetHolder, WidgetLayout}; use crate::messages::layout::utility_types::misc::LayoutTarget; @@ -9,8 +8,6 @@ use crate::messages::prelude::*; use graphene::LayerId; -use std::collections::HashMap; - /// A dialog to allow users to customize their file export. #[derive(Debug, Clone, Default)] pub struct ExportDialogMessageHandler { diff --git a/editor/src/messages/dialog/new_document_dialog/new_document_dialog_message_handler.rs b/editor/src/messages/dialog/new_document_dialog/new_document_dialog_message_handler.rs index 802c363f6b..5805d50159 100644 --- a/editor/src/messages/dialog/new_document_dialog/new_document_dialog_message_handler.rs +++ b/editor/src/messages/dialog/new_document_dialog/new_document_dialog_message_handler.rs @@ -1,4 +1,3 @@ -use super::NewDocumentDialogMessage; use crate::messages::layout::utility_types::layout_widget::{Layout, LayoutGroup, PropertyHolder, Widget, WidgetCallback, WidgetHolder, WidgetLayout}; use crate::messages::layout::utility_types::misc::LayoutTarget; use crate::messages::layout::utility_types::widgets::button_widgets::TextButton; diff --git a/editor/src/messages/dialog/simple_dialogs/close_document_dialog.rs b/editor/src/messages/dialog/simple_dialogs/close_document_dialog.rs index be3b3cc217..e5e3a43fb1 100644 --- a/editor/src/messages/dialog/simple_dialogs/close_document_dialog.rs +++ b/editor/src/messages/dialog/simple_dialogs/close_document_dialog.rs @@ -2,7 +2,6 @@ use crate::messages::broadcast::broadcast_event::BroadcastEvent; use crate::messages::layout::utility_types::layout_widget::{Layout, LayoutGroup, PropertyHolder, Widget, WidgetCallback, WidgetHolder, WidgetLayout}; use crate::messages::layout::utility_types::widgets::button_widgets::TextButton; use crate::messages::layout::utility_types::widgets::label_widgets::TextLabel; -use crate::messages::portfolio::document::DocumentMessage; use crate::messages::prelude::*; /// A dialog for confirming the closing a document with unsaved changes. diff --git a/editor/src/messages/input_mapper/default_mapping.rs b/editor/src/messages/input_mapper/default_mapping.rs index b9e943f765..8a9eb7c404 100644 --- a/editor/src/messages/input_mapper/default_mapping.rs +++ b/editor/src/messages/input_mapper/default_mapping.rs @@ -1,5 +1,4 @@ use crate::consts::{BIG_NUDGE_AMOUNT, NUDGE_AMOUNT}; -use crate::messages::input_mapper::input_mapper_message::InputMapperMessage; use crate::messages::input_mapper::utility_types::input_keyboard::{Key, KeyStates}; use crate::messages::input_mapper::utility_types::macros::*; use crate::messages::input_mapper::utility_types::misc::MappingEntry; diff --git a/editor/src/messages/input_preprocessor/input_preprocessor_message_handler.rs b/editor/src/messages/input_preprocessor/input_preprocessor_message_handler.rs index d51b4e9a42..4e1f3dc99f 100644 --- a/editor/src/messages/input_preprocessor/input_preprocessor_message_handler.rs +++ b/editor/src/messages/input_preprocessor/input_preprocessor_message_handler.rs @@ -172,12 +172,9 @@ impl InputPreprocessorMessageHandler { mod test { use crate::messages::input_mapper::utility_types::input_keyboard::{Key, ModifierKeys}; use crate::messages::input_mapper::utility_types::input_mouse::EditorMouseState; - use crate::messages::input_mapper::InputMapperMessage; use crate::messages::portfolio::document::utility_types::misc::KeyboardPlatformLayout; use crate::messages::prelude::*; - use std::collections::VecDeque; - #[test] fn process_action_mouse_move_handle_modifier_keys() { let mut input_preprocessor = InputPreprocessorMessageHandler::default(); diff --git a/editor/src/messages/layout/layout_message_handler.rs b/editor/src/messages/layout/layout_message_handler.rs index be491e252e..a626e0ccc0 100644 --- a/editor/src/messages/layout/layout_message_handler.rs +++ b/editor/src/messages/layout/layout_message_handler.rs @@ -8,7 +8,6 @@ use crate::messages::prelude::*; use graphene::layers::text_layer::Font; use serde_json::Value; -use std::collections::VecDeque; #[derive(Debug, Clone, Default)] pub struct LayoutMessageHandler { diff --git a/editor/src/messages/layout/utility_types/layout_widget.rs b/editor/src/messages/layout/utility_types/layout_widget.rs index e29b457211..62d20b9746 100644 --- a/editor/src/messages/layout/utility_types/layout_widget.rs +++ b/editor/src/messages/layout/utility_types/layout_widget.rs @@ -6,12 +6,10 @@ use crate::application::generate_uuid; use crate::messages::input_mapper::utility_types::input_keyboard::Key; use crate::messages::input_mapper::utility_types::misc::{keys_text_shortcut, ActionKeys}; use crate::messages::layout::utility_types::misc::LayoutTarget; -use crate::messages::layout::LayoutMessage; use crate::messages::portfolio::document::utility_types::misc::KeyboardPlatformLayout; use crate::messages::prelude::*; use serde::{Deserialize, Serialize}; -use std::collections::VecDeque; use std::rc::Rc; pub trait PropertyHolder { diff --git a/editor/src/messages/portfolio/document/artboard/artboard_message_handler.rs b/editor/src/messages/portfolio/document/artboard/artboard_message_handler.rs index 8efe117fa8..fb07ce9a96 100644 --- a/editor/src/messages/portfolio/document/artboard/artboard_message_handler.rs +++ b/editor/src/messages/portfolio/document/artboard/artboard_message_handler.rs @@ -1,6 +1,6 @@ +use crate::application::generate_uuid; use crate::messages::prelude::*; -use crate::application::generate_uuid; use graphene::color::Color; use graphene::document::Document as GrapheneDocument; use graphene::layers::style::{self, Fill, RenderData, ViewMode}; @@ -11,7 +11,6 @@ use graphene::Operation as DocumentOperation; use glam::DAffine2; use serde::{Deserialize, Serialize}; -use std::collections::VecDeque; #[derive(Debug, Clone, Default, Serialize, Deserialize)] pub struct ArtboardMessageHandler { diff --git a/editor/src/messages/portfolio/document/document_message_handler.rs b/editor/src/messages/portfolio/document/document_message_handler.rs index 0bdbb9dc6b..003abd15a4 100644 --- a/editor/src/messages/portfolio/document/document_message_handler.rs +++ b/editor/src/messages/portfolio/document/document_message_handler.rs @@ -29,7 +29,6 @@ use graphene::{DocumentError, DocumentResponse, LayerId, Operation as DocumentOp use glam::{DAffine2, DVec2}; use log::warn; use serde::{Deserialize, Serialize}; -use std::collections::{HashMap, HashSet, VecDeque}; #[derive(Clone, Debug, Serialize, Deserialize)] pub struct DocumentMessageHandler { diff --git a/editor/src/messages/portfolio/document/movement/movement_message_handler.rs b/editor/src/messages/portfolio/document/movement/movement_message_handler.rs index a5e615047e..211d40d10f 100644 --- a/editor/src/messages/portfolio/document/movement/movement_message_handler.rs +++ b/editor/src/messages/portfolio/document/movement/movement_message_handler.rs @@ -10,7 +10,6 @@ use graphene::Operation as DocumentOperation; use glam::{DAffine2, DVec2}; use serde::{Deserialize, Serialize}; -use std::collections::VecDeque; #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct MovementMessageHandler { diff --git a/editor/src/messages/portfolio/document/transform_layer/transform_layer_message_handler.rs b/editor/src/messages/portfolio/document/transform_layer/transform_layer_message_handler.rs index e9d4f2c8a7..e135b385bd 100644 --- a/editor/src/messages/portfolio/document/transform_layer/transform_layer_message_handler.rs +++ b/editor/src/messages/portfolio/document/transform_layer/transform_layer_message_handler.rs @@ -9,7 +9,6 @@ use graphene::LayerId; use glam::DVec2; use graphene::layers::text_layer::FontCache; -use std::collections::{HashMap, VecDeque}; #[derive(Debug, Clone, Default, PartialEq)] pub struct TransformLayerMessageHandler { diff --git a/editor/src/messages/portfolio/menu_bar/menu_bar_message_handler.rs b/editor/src/messages/portfolio/menu_bar/menu_bar_message_handler.rs index 33d2e911af..689e89e6e5 100644 --- a/editor/src/messages/portfolio/menu_bar/menu_bar_message_handler.rs +++ b/editor/src/messages/portfolio/menu_bar/menu_bar_message_handler.rs @@ -1,4 +1,3 @@ -use super::MenuBarMessage; use crate::messages::input_mapper::utility_types::macros::action_keys; use crate::messages::layout::utility_types::layout_widget::{Layout, PropertyHolder}; use crate::messages::layout::utility_types::misc::LayoutTarget; @@ -6,8 +5,6 @@ use crate::messages::layout::utility_types::widgets::menu_widgets::{MenuColumn, use crate::messages::portfolio::document::utility_types::clipboards::Clipboard; use crate::messages::prelude::*; -use std::collections::VecDeque; - #[derive(Debug, Clone, Default)] pub struct MenuBarMessageHandler {} diff --git a/editor/src/messages/portfolio/portfolio_message_handler.rs b/editor/src/messages/portfolio/portfolio_message_handler.rs index 3ce46be570..71c3198b6c 100644 --- a/editor/src/messages/portfolio/portfolio_message_handler.rs +++ b/editor/src/messages/portfolio/portfolio_message_handler.rs @@ -13,7 +13,6 @@ use graphene::layers::text_layer::{Font, FontCache}; use graphene::Operation as DocumentOperation; use log::warn; -use std::collections::{HashMap, VecDeque}; #[derive(Debug, Clone, Default)] pub struct PortfolioMessageHandler { diff --git a/editor/src/messages/prelude.rs b/editor/src/messages/prelude.rs index 2c086be071..99aa89dedd 100644 --- a/editor/src/messages/prelude.rs +++ b/editor/src/messages/prelude.rs @@ -1,8 +1,11 @@ +// Root +pub use crate::utility_traits::{ActionList, AsMessage, MessageHandler, ToDiscriminant, TransitiveChild}; + // Message, MessageDiscriminant, MessageHandler pub use crate::messages::broadcast::{BroadcastMessage, BroadcastMessageDiscriminant, BroadcastMessageHandler}; pub use crate::messages::debug::{DebugMessage, DebugMessageDiscriminant, DebugMessageHandler}; -pub use crate::messages::dialog::export_dialog::ExportDialogMessageHandler; -pub use crate::messages::dialog::new_document_dialog::NewDocumentDialogMessageHandler; +pub use crate::messages::dialog::export_dialog::{ExportDialogMessage, ExportDialogMessageDiscriminant, ExportDialogMessageHandler}; +pub use crate::messages::dialog::new_document_dialog::{NewDocumentDialogMessage, NewDocumentDialogMessageDiscriminant, NewDocumentDialogMessageHandler}; pub use crate::messages::dialog::{DialogMessage, DialogMessageDiscriminant, DialogMessageHandler}; pub use crate::messages::frontend::{FrontendMessage, FrontendMessageDiscriminant}; pub use crate::messages::input_mapper::{InputMapperMessage, InputMapperMessageDiscriminant, InputMapperMessageHandler}; @@ -20,6 +23,7 @@ pub use crate::messages::tool::{ToolMessage, ToolMessageDiscriminant, ToolMessag pub use crate::messages::workspace::{WorkspaceMessage, WorkspaceMessageDiscriminant, WorkspaceMessageHandler}; // Message, MessageDiscriminant +pub use crate::messages::broadcast::broadcast_event::{BroadcastEvent, BroadcastEventDiscriminant}; pub use crate::messages::message::{Message, MessageDiscriminant}; pub use crate::messages::tool::tool_messages::artboard_tool::{ArtboardToolMessage, ArtboardToolMessageDiscriminant}; pub use crate::messages::tool::tool_messages::ellipse_tool::{EllipseToolMessage, EllipseToolMessageDiscriminant}; @@ -37,10 +41,7 @@ pub use crate::messages::tool::tool_messages::shape_tool::{ShapeToolMessage, Sha pub use crate::messages::tool::tool_messages::spline_tool::{SplineToolMessage, SplineToolMessageDiscriminant}; pub use crate::messages::tool::tool_messages::text_tool::{TextToolMessage, TextToolMessageDiscriminant}; -// Other -pub use crate::messages::broadcast::broadcast_event::{BroadcastEvent, BroadcastEventDiscriminant}; -pub use crate::utility_traits::{ActionList, AsMessage, MessageHandler, ToDiscriminant, TransitiveChild}; - +// Helper pub use graphite_proc_macros::*; -pub use std::collections::VecDeque; +pub use std::collections::{HashMap, HashSet, VecDeque}; diff --git a/editor/src/messages/tool/common_functionality/overlay_renderer.rs b/editor/src/messages/tool/common_functionality/overlay_renderer.rs index bb5a2dbdef..0c83b748eb 100644 --- a/editor/src/messages/tool/common_functionality/overlay_renderer.rs +++ b/editor/src/messages/tool/common_functionality/overlay_renderer.rs @@ -13,7 +13,6 @@ use graphene::layers::vector::subpath::Subpath; use graphene::{LayerId, Operation}; use glam::{DAffine2, DVec2}; -use std::collections::{HashMap, VecDeque}; /// [ManipulatorGroupOverlay]s is the collection of overlays that make up an [ManipulatorGroup] visible in the editor. type ManipulatorGroupOverlays = [Option>; 5]; diff --git a/editor/src/messages/tool/common_functionality/path_outline.rs b/editor/src/messages/tool/common_functionality/path_outline.rs index 89753167c2..72e2552651 100644 --- a/editor/src/messages/tool/common_functionality/path_outline.rs +++ b/editor/src/messages/tool/common_functionality/path_outline.rs @@ -10,7 +10,6 @@ use graphene::layers::vector::subpath::Subpath; use graphene::{LayerId, Operation}; use glam::{DAffine2, DVec2}; -use std::collections::VecDeque; /// Manages the overlay used by the select tool for outlining selected shapes and when hovering over a non selected shape. #[derive(Clone, Debug, Default)] diff --git a/editor/src/messages/tool/common_functionality/shape_editor.rs b/editor/src/messages/tool/common_functionality/shape_editor.rs index 8980884e9f..05af13d282 100644 --- a/editor/src/messages/tool/common_functionality/shape_editor.rs +++ b/editor/src/messages/tool/common_functionality/shape_editor.rs @@ -8,7 +8,6 @@ use graphene::{LayerId, Operation}; use glam::DVec2; use graphene::document::Document; -use std::collections::VecDeque; /// ShapeEditor is the container for all of the layer paths that are represented as [Subpath]s and provides /// functionality required to query and create the [Subpath] / [ManipulatorGroup]s / [ManipulatorPoint]s. diff --git a/editor/src/messages/tool/tool_message_handler.rs b/editor/src/messages/tool/tool_message_handler.rs index 93855130e8..bc1e0358f4 100644 --- a/editor/src/messages/tool/tool_message_handler.rs +++ b/editor/src/messages/tool/tool_message_handler.rs @@ -8,8 +8,6 @@ use crate::messages::tool::utility_types::ToolType; use graphene::color::Color; use graphene::layers::text_layer::FontCache; -use std::collections::VecDeque; - #[derive(Debug, Default)] pub struct ToolMessageHandler { tool_state: ToolFsmState, diff --git a/editor/src/messages/tool/utility_types.rs b/editor/src/messages/tool/utility_types.rs index 2811b3c2e4..57a76a802d 100644 --- a/editor/src/messages/tool/utility_types.rs +++ b/editor/src/messages/tool/utility_types.rs @@ -14,7 +14,6 @@ use graphene::color::Color; use graphene::layers::text_layer::FontCache; use serde::{Deserialize, Serialize}; -use std::collections::{HashMap, VecDeque}; use std::fmt::{self, Debug}; pub type ToolActionHandlerData<'a> = (&'a DocumentMessageHandler, &'a DocumentToolData, &'a InputPreprocessorMessageHandler, &'a FontCache); diff --git a/editor/src/utility_traits.rs b/editor/src/utility_traits.rs index b77737704b..3cbd48a278 100644 --- a/editor/src/utility_traits.rs +++ b/editor/src/utility_traits.rs @@ -1,8 +1,6 @@ pub use crate::dispatcher::*; use crate::messages::prelude::*; -use std::collections::VecDeque; - /// Implements a message handler struct for a separate message struct. /// - The first generic argument (`M`) is that message struct type, representing a message enum variant to be matched and handled in `process_message()`. /// - The second generic argument (`D`) is the type of data that can be passed along by the caller to `process_message()`. @@ -44,8 +42,6 @@ pub trait TransitiveChild: Into + Into { type Parent; } -use std::collections::HashMap; - pub trait Hint { fn hints(&self) -> HashMap; } diff --git a/proc-macros/src/lib.rs b/proc-macros/src/lib.rs index ab126c601e..273cd4b2c6 100644 --- a/proc-macros/src/lib.rs +++ b/proc-macros/src/lib.rs @@ -14,7 +14,6 @@ use crate::hint::derive_hint_impl; use crate::transitive_child::derive_transitive_child_impl; use proc_macro::TokenStream; -use syn::parse_macro_input; /// Derive the `ToDiscriminant` trait and create a `Discriminant` enum /// @@ -269,7 +268,7 @@ pub fn derive_hint(input_item: TokenStream) -> TokenStream { #[proc_macro_attribute] pub fn edge(attr: TokenStream, item: TokenStream) -> TokenStream { // to make sure that only `#[edge("string")]` is allowed - let _verify = parse_macro_input!(attr as AttrInnerSingleString); + let _verify = syn::parse_macro_input!(attr as AttrInnerSingleString); item }