From b2aa966588e6e4ec11ee602b54d52ee1938016da Mon Sep 17 00:00:00 2001 From: Priec Date: Fri, 15 Aug 2025 00:06:54 +0200 Subject: [PATCH] suggestions behind features flag only --- canvas/src/data_provider.rs | 3 +++ canvas/src/lib.rs | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/canvas/src/data_provider.rs b/canvas/src/data_provider.rs index 0de2106..c092009 100644 --- a/canvas/src/data_provider.rs +++ b/canvas/src/data_provider.rs @@ -2,6 +2,7 @@ //! Simplified user interface - only business data, no UI state use anyhow::Result; +#[cfg(feature = "suggestions")] use async_trait::async_trait; /// User implements this - only business data, no UI state @@ -51,6 +52,7 @@ pub trait DataProvider { } /// Optional: User implements this for suggestions data +#[cfg(feature = "suggestions")] #[async_trait] pub trait SuggestionsProvider { /// Fetch suggestions (user's business logic) @@ -58,6 +60,7 @@ pub trait SuggestionsProvider { -> Result>; } +#[cfg(feature = "suggestions")] #[derive(Debug, Clone)] pub struct SuggestionItem { pub display_text: String, diff --git a/canvas/src/lib.rs b/canvas/src/lib.rs index 899d5c8..fdb6372 100644 --- a/canvas/src/lib.rs +++ b/canvas/src/lib.rs @@ -25,7 +25,9 @@ pub use canvas::CursorManager; // Main API exports pub use editor::FormEditor; -pub use data_provider::{DataProvider, SuggestionsProvider, SuggestionItem}; +pub use data_provider::DataProvider; +#[cfg(feature = "suggestions")] +pub use data_provider::{SuggestionsProvider, SuggestionItem}; // UI state (read-only access for users) pub use canvas::state::EditorState;