copilot_ui.rs

 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}