collab: Update how mode is displayed in root endpoint (#15911)

Marshall Bowers created

This PR adjusts how we display the "mode" collab is running in on the
root endpoint.

It's minor, but it does make things a bit cleaner.

Release Notes:

- N/A

Change summary

Cargo.lock                | 1 +
crates/collab/Cargo.toml  | 1 +
crates/collab/src/lib.rs  | 3 ++-
crates/collab/src/main.rs | 5 +----
4 files changed, 5 insertions(+), 5 deletions(-)

Detailed changes

Cargo.lock 🔗

@@ -2504,6 +2504,7 @@ dependencies = [
  "settings",
  "sha2",
  "sqlx",
+ "strum",
  "subtle",
  "supermaven_api",
  "telemetry_events",

crates/collab/Cargo.toml 🔗

@@ -58,6 +58,7 @@ serde_derive.workspace = true
 serde_json.workspace = true
 sha2.workspace = true
 sqlx = { version = "0.7", features = ["runtime-tokio-rustls", "postgres", "json", "time", "uuid", "any"] }
+strum.workspace = true
 subtle.workspace = true
 rustc-demangle.workspace = true
 telemetry_events.workspace = true

crates/collab/src/lib.rs 🔗

@@ -235,7 +235,8 @@ impl Config {
 }
 
 /// The service mode that collab should run in.
-#[derive(Debug, PartialEq, Eq, Clone, Copy)]
+#[derive(Debug, PartialEq, Eq, Clone, Copy, strum::Display)]
+#[strum(serialize_all = "snake_case")]
 pub enum ServiceMode {
     Api,
     Collab,

crates/collab/src/main.rs 🔗

@@ -279,10 +279,7 @@ async fn setup_llm_database(config: &Config) -> Result<()> {
 }
 
 async fn handle_root(Extension(mode): Extension<ServiceMode>) -> String {
-    format!(
-        "collab {mode:?} v{VERSION} ({})",
-        REVISION.unwrap_or("unknown")
-    )
+    format!("zed:{mode} v{VERSION} ({})", REVISION.unwrap_or("unknown"))
 }
 
 async fn handle_liveness_probe(