diff --git a/src/edit.rs b/src/edit.rs index b7db7af..fe3119f 100644 --- a/src/edit.rs +++ b/src/edit.rs @@ -8,7 +8,7 @@ use std::collections::HashMap; use std::env::var; use std::io::Write; use std::path::PathBuf; -use std::{fs::read_dir, fs::File, io::Read, process::Command}; +use std::{fs::File, fs::read_dir, io::Read, process::Command}; pub fn edit(file_path: Vec, extra_files: [String; 8]) -> std::io::Result<()> { let tmp_file_path = PathBuf::from("/tmp/keks-sort-metadata"); @@ -47,12 +47,14 @@ pub fn edit(file_path: Vec, extra_files: [String; 8]) -> std::io::Resul } for file in &files { + let mut items: Vec<_> = file.tag.items().collect(); + items.sort_by_key(|item| item.key().map_key(VorbisComments).unwrap()); writeln!( tmp_file.try_clone()?, "------------ {:?} ------------", file.path )?; - for item in file.tag.items() { + for item in items { writeln!( tmp_file, "{} = {}",