diff --git a/src/modes/server.rs b/src/modes/server.rs index a9928a3..a27cab7 100644 --- a/src/modes/server.rs +++ b/src/modes/server.rs @@ -228,7 +228,11 @@ async fn handle_status( let default_type = crate::compression_engine::default_compression_type(); let mut compression_info = Vec::new(); - for compression_type in CompressionTypeEnum::iter() { + // Sort compression types by their string representation + let mut sorted_compression_types: Vec = CompressionTypeEnum::iter().collect(); + sorted_compression_types.sort_by_key(|ct| ct.to_string()); + + for compression_type in sorted_compression_types { let compression_program: CompressionEngineProgram = match &COMPRESSION_PROGRAMS[compression_type.clone()] { Some(compression_program) => compression_program.clone(), diff --git a/src/modes/status.rs b/src/modes/status.rs index d96a9aa..2bcae7a 100644 --- a/src/modes/status.rs +++ b/src/modes/status.rs @@ -75,7 +75,11 @@ fn build_compression_table() -> Table { let default_type = compression_engine::default_compression_type(); - for compression_type in CompressionType::iter() { + // Sort compression types by their string representation + let mut sorted_compression_types: Vec = CompressionType::iter().collect(); + sorted_compression_types.sort_by_key(|ct| ct.to_string()); + + for compression_type in sorted_compression_types { let compression_program: CompressionEngineProgram = match &COMPRESSION_PROGRAMS[compression_type.clone()] { Some(compression_program) => compression_program.clone(), @@ -193,7 +197,11 @@ fn show_status_structured( let default_type = compression_engine::default_compression_type(); let mut compression_info = Vec::new(); - for compression_type in CompressionType::iter() { + // Sort compression types by their string representation + let mut sorted_compression_types: Vec = CompressionType::iter().collect(); + sorted_compression_types.sort_by_key(|ct| ct.to_string()); + + for compression_type in sorted_compression_types { let compression_program: CompressionEngineProgram = match &COMPRESSION_PROGRAMS[compression_type.clone()] { Some(compression_program) => compression_program.clone(),