Connect applications to schemes, filetypes, and more on macOS (more to come)
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

removed emojis for classy... devicons!!

+49 -11
+30
Cargo.lock
··· 313 313 "color-eyre", 314 314 "eyre", 315 315 "infat-lib", 316 + "nerdicons_rs", 316 317 "tokio", 317 318 "tracing", 318 319 ] ··· 429 430 "libc", 430 431 "wasi", 431 432 "windows-sys 0.59.0", 433 + ] 434 + 435 + [[package]] 436 + name = "nerdicons_rs" 437 + version = "0.1.0" 438 + source = "registry+https://github.com/rust-lang/crates.io-index" 439 + checksum = "988d06af1a37aa0c5e3e9f571fb26b0f014c1ff3f4eb1ea95788a6099b74f4e2" 440 + dependencies = [ 441 + "serde", 442 + "serde_json", 432 443 ] 433 444 434 445 [[package]] ··· 595 606 checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" 596 607 597 608 [[package]] 609 + name = "ryu" 610 + version = "1.0.20" 611 + source = "registry+https://github.com/rust-lang/crates.io-index" 612 + checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 613 + 614 + [[package]] 598 615 name = "serde" 599 616 version = "1.0.226" 600 617 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 622 639 "proc-macro2", 623 640 "quote", 624 641 "syn", 642 + ] 643 + 644 + [[package]] 645 + name = "serde_json" 646 + version = "1.0.145" 647 + source = "registry+https://github.com/rust-lang/crates.io-index" 648 + checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" 649 + dependencies = [ 650 + "itoa", 651 + "memchr", 652 + "ryu", 653 + "serde", 654 + "serde_core", 625 655 ] 626 656 627 657 [[package]]
+1
infat-cli/Cargo.toml
··· 18 18 color-eyre = { workspace = true } 19 19 tracing = { workspace = true } 20 20 clap_complete = "4.5.58" 21 + nerdicons_rs = "0.1.0" 21 22 22 23 [build-dependencies] 23 24 clap_complete = "4.5.58"
+18 -11
infat-cli/src/main.rs
··· 4 4 owo_colors::OwoColorize, 5 5 }; 6 6 use infat_lib::{GlobalOptions, app, association, config, macos::launch_services_db}; 7 + use nerdicons_rs::icons::md::{ 8 + RSCHART_BAR, RSCHECK, RSCONTENT_SAVE_MOVE_OUTLINE, RSFILE_DOCUMENT, RSFILE_SEARCH, RSLINK, 9 + RSTAG, 10 + }; 7 11 use std::path::PathBuf; 8 12 use tracing::info; 9 13 ··· 83 87 84 88 if !opts.quiet { 85 89 println!( 86 - "📄 Loading configuration from: {}", 90 + "{RSFILE_DOCUMENT} Loading configuration from: {}", 87 91 config_path.display().bright_cyan() 88 92 ); 89 93 } ··· 104 108 let summary = config.summary(); 105 109 if !opts.quiet { 106 110 println!( 107 - "📊 Found {} associations: {} extensions, {} schemes, {} types", 111 + "{RSCHART_BAR} Found {} associations: {} extensions, {} schemes, {} types", 108 112 summary.total().to_string().bright_green(), 109 113 summary.extensions_count, 110 114 summary.schemes_count, ··· 118 122 .wrap_err("Failed to apply configuration settings")?; 119 123 120 124 if !opts.quiet { 121 - println!("{}", "✅ Configuration applied successfully".bright_green()); 125 + println!( 126 + "{RSCHECK} {}", 127 + "Configuration applied successfully".bright_green() 128 + ); 122 129 } 123 130 124 131 Ok(()) ··· 216 223 .wrap_err_with(|| format!("Failed to get info for extension: .{extension}"))?; 217 224 218 225 println!( 219 - "📄 File Extension: {}", 226 + "{RSFILE_DOCUMENT} File Extension: {}", 220 227 format!(".{extension}").bright_green() 221 228 ); 222 229 ··· 251 258 let info = association::get_info_for_url_scheme(&url_scheme) 252 259 .wrap_err_with(|| format!("Failed to get info for URL scheme: {url_scheme}"))?; 253 260 254 - println!("🔗 URL Scheme: {}", url_scheme.bright_green()); 261 + println!("{RSLINK} URL Scheme: {}", url_scheme.bright_green()); 255 262 256 263 match info.default_app_name()? { 257 264 Some(app_name) => { ··· 280 287 let info = association::get_info_for_type(&type_name) 281 288 .wrap_err_with(|| format!("Failed to get info for type: {type_name}"))?; 282 289 283 - println!("🏷️ File Type: {}", type_name.bright_green()); 290 + println!("{RSTAG} File Type: {}", type_name.bright_green()); 284 291 285 292 if let Some(uti) = &info.uti { 286 293 println!(" UTI: {}", uti.bright_cyan()); ··· 393 400 info!("Initializing configuration from Launch Services database"); 394 401 395 402 if !opts.quiet { 396 - println!("🔍 Reading Launch Services database..."); 403 + println!("{RSFILE_SEARCH} Reading Launch Services database..."); 397 404 } 398 405 399 406 let config = launch_services_db::generate_config_from_launch_services(opts.robust) ··· 403 410 404 411 if !opts.quiet { 405 412 println!( 406 - "📊 Generated {} associations: {} extensions, {} schemes, {} types", 413 + "{RSCHART_BAR} Generated {} associations: {} extensions, {} schemes, {} types", 407 414 summary.total().to_string().bright_green(), 408 415 summary.extensions_count, 409 416 summary.schemes_count, ··· 428 435 429 436 if !opts.quiet { 430 437 println!( 431 - "💾 Writing configuration to: {}", 438 + "{RSCONTENT_SAVE_MOVE_OUTLINE} Writing configuration to: {}", 432 439 output_path.display().bright_cyan() 433 440 ); 434 441 } ··· 439 446 440 447 if !opts.quiet { 441 448 println!( 442 - "{}", 443 - "✅ Configuration initialized successfully".bright_green() 449 + "{RSCHECK} {}", 450 + "Configuration initialized successfully".bright_green() 444 451 ); 445 452 println!("To apply these settings, run: {}", "infat".bright_yellow()); 446 453 }