1mod sign_in;
2
3use std::sync::Arc;
4
5use copilot::GlobalCopilotAuth;
6use gpui::AppContext;
7use language::language_settings::AllLanguageSettings;
8use settings::SettingsStore;
9pub use sign_in::{
10 ConfigurationMode, ConfigurationView, CopilotCodeVerification, initiate_sign_in,
11 initiate_sign_out, reinstall_and_sign_in,
12};
13use ui::App;
14use workspace::AppState;
15
16pub fn init(app_state: &Arc<AppState>, cx: &mut App) {
17 let provider = cx.read_global(|settings: &SettingsStore, _| {
18 settings
19 .get::<AllLanguageSettings>(None)
20 .edit_predictions
21 .provider
22 });
23 if provider == settings::EditPredictionProvider::Copilot {
24 GlobalCopilotAuth::set_global(
25 app_state.languages.next_language_server_id(),
26 app_state.fs.clone(),
27 app_state.node_runtime.clone(),
28 cx,
29 );
30 }
31}