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
//! Rename provider implementations.
//!
//! Contains the available [`RenameProvider`](super::RenameProvider) implementations:
//! - [`SimpleProvider`] — sequential alphabetic names (always available)
//! - [`LocalProvider`](local::LocalProvider) — LLM-powered semantic names (requires `smart-rename` feature)
pub use ;
use crate;
/// Creates the appropriate rename provider based on configuration.
///
/// Returns a [`LocalProvider`](local::LocalProvider) if the `smart-rename`
/// feature is enabled and a [`SmartRenameConfig`] is provided. Otherwise
/// falls back to [`SimpleProvider`].
///
/// # Arguments
///
/// * `config` - Optional smart rename configuration. When `None` or when the
/// `smart-rename` feature is not enabled, a [`SimpleProvider`] is returned.
///
/// # Returns
///
/// A boxed provider ready for [`initialize()`](RenameProvider::initialize).