github_code_searching_lib/lib.rs
1//! # GitHub Code Searching
2//!
3//! A Rust library for searching code on GitHub with advanced features like
4//! concurrent searches, rate-limit handling, and progress visualization.
5//!
6//! ## Main Components
7//!
8//! - [`GitHubSearcher`]: The core component that handles all search operations
9//! - [`Args`]: Command line argument structure for configuring search parameters
10//!
11//! ## Example
12//!
13//! ```no_run
14//! use github_code_searching::{Args, GitHubSearcher};
15//! use clap::Parser;
16//!
17//! #[tokio::main]
18//! async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
19//! // Parse command line arguments
20//! let args = Args::parse();
21//!
22//! // Initialize the searcher
23//! let searcher = GitHubSearcher::new(&args).await?;
24//!
25//! // Run searches for the provided terms
26//! searcher.run(vec!["rust async".to_string(), "tokio select".to_string()]).await?;
27//!
28//! Ok(())
29//! }
30//! ```
31
32mod github_searcher;
33mod args;
34
35// Re-export main components for documentation and external use
36pub use crate::github_searcher::GitHubSearcher;
37pub use crate::args::Args;