Uncomment Editor::report_editor_event

Antonio Scandurra created

Change summary

Cargo.lock                   |  1 
crates/editor2/Cargo.toml    |  1 
crates/editor2/src/editor.rs | 74 ++++++++++++++++++-------------------
3 files changed, 38 insertions(+), 38 deletions(-)

Detailed changes

Cargo.lock 🔗

@@ -2657,6 +2657,7 @@ dependencies = [
  "schemars",
  "serde",
  "serde_derive",
+ "serde_json",
  "settings2",
  "smallvec",
  "smol",

crates/editor2/Cargo.toml 🔗

@@ -62,6 +62,7 @@ postage.workspace = true
 rand.workspace = true
 schemars.workspace = true
 serde.workspace = true
+serde_json.workspace = true
 serde_derive.workspace = true
 smallvec.workspace = true
 smol.workspace = true

crates/editor2/src/editor.rs 🔗

@@ -8981,45 +8981,43 @@ impl Editor {
         file_extension: Option<String>,
         cx: &AppContext,
     ) {
-        todo!("old version below");
+        let Some(project) = &self.project else { return };
+
+        // If None, we are in a file without an extension
+        let file = self
+            .buffer
+            .read(cx)
+            .as_singleton()
+            .and_then(|b| b.read(cx).file());
+        let file_extension = file_extension.or(file
+            .as_ref()
+            .and_then(|file| Path::new(file.file_name(cx)).extension())
+            .and_then(|e| e.to_str())
+            .map(|a| a.to_string()));
+
+        let vim_mode = cx
+            .global::<SettingsStore>()
+            .raw_user_settings()
+            .get("vim_mode")
+            == Some(&serde_json::Value::Bool(true));
+        let telemetry_settings = *TelemetrySettings::get_global(cx);
+        let copilot_enabled = all_language_settings(file, cx).copilot_enabled(None, None);
+        let copilot_enabled_for_language = self
+            .buffer
+            .read(cx)
+            .settings_at(0, cx)
+            .show_copilot_suggestions;
+
+        let telemetry = project.read(cx).client().telemetry().clone();
+        let event = ClickhouseEvent::Editor {
+            file_extension,
+            vim_mode,
+            operation,
+            copilot_enabled,
+            copilot_enabled_for_language,
+        };
+        telemetry.report_clickhouse_event(event, telemetry_settings)
     }
-    //     let Some(project) = &self.project else { return };
-
-    //     // If None, we are in a file without an extension
-    //     let file = self
-    //         .buffer
-    //         .read(cx)
-    //         .as_singleton()
-    //         .and_then(|b| b.read(cx).file());
-    //     let file_extension = file_extension.or(file
-    //         .as_ref()
-    //         .and_then(|file| Path::new(file.file_name(cx)).extension())
-    //         .and_then(|e| e.to_str())
-    //         .map(|a| a.to_string()));
-
-    //     let vim_mode = cx
-    //         .global::<SettingsStore>()
-    //         .raw_user_settings()
-    //         .get("vim_mode")
-    //         == Some(&serde_json::Value::Bool(true));
-    //     let telemetry_settings = *settings::get::<TelemetrySettings>(cx);
-    //     let copilot_enabled = all_language_settings(file, cx).copilot_enabled(None, None);
-    //     let copilot_enabled_for_language = self
-    //         .buffer
-    //         .read(cx)
-    //         .settings_at(0, cx)
-    //         .show_copilot_suggestions;
-
-    //     let telemetry = project.read(cx).client().telemetry().clone();
-    //     let event = ClickhouseEvent::Editor {
-    //         file_extension,
-    //         vim_mode,
-    //         operation,
-    //         copilot_enabled,
-    //         copilot_enabled_for_language,
-    //     };
-    //     telemetry.report_clickhouse_event(event, telemetry_settings)
-    // }
 
     //     /// Copy the highlighted chunks to the clipboard as JSON. The format is an array of lines,
     //     /// with each line being an array of {text, highlight} objects.