1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! Plugin system for language support.
//!
//! This module provides a trait-based plugin architecture that allows sqry to support
//! multiple programming languages through both built-in (statically linked) and external
//! (dynamically loaded in Phase 3+) plugins.
//!
//! # Architecture
//!
//! - **LanguagePlugin trait**: Core trait that all language plugins must implement
//! - **PluginManager**: Manages plugin registration and lookup
//! - **Built-in plugins**: Statically linked plugins (Rust, JS, TS, Python, Go)
//! - **External plugins** (Phase 3+): Dynamically loaded plugins from disk
//!
//! # Example
//!
//! ```
//! use sqry_core::plugin::{PluginManager, LanguagePlugin};
//!
//! // Create manager with built-in plugins
//! let manager = PluginManager::new();
//!
//! // Lookup plugin by file extension
//! if let Some(plugin) = manager.plugin_for_extension("rs") {
//! let metadata = plugin.metadata();
//! println!("Found {} plugin v{}", metadata.name, metadata.version);
//! }
//! ```
pub use ;
pub use PluginManager;
pub use ;
pub use ;