From 02ed15d6ee4bbcec3db24a9fb0d1a86330b52539 Mon Sep 17 00:00:00 2001 From: Joseph O'Brien Date: Sun, 14 Jun 2026 00:19:21 -0400 Subject: [PATCH] feat(nushell): add nu_libs autoload package fix(notgraph): replace sort_by with sort_by_key (clippy) --- crates/notgraph/src/analysis.rs | 5 +++-- nushell/.config/nushell/autoload/nu_libs.nu | 10 ++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 nushell/.config/nushell/autoload/nu_libs.nu diff --git a/crates/notgraph/src/analysis.rs b/crates/notgraph/src/analysis.rs index 1a5e583..f278867 100644 --- a/crates/notgraph/src/analysis.rs +++ b/crates/notgraph/src/analysis.rs @@ -1,4 +1,5 @@ use crate::types::{CrateGraph, FanStats, GraphStats, Hotspot, HotspotKind, ModStats, ModuleGraph}; +use std::cmp::Reverse; use std::collections::{HashMap, VecDeque}; pub fn fan_stats(nodes: &[String], edges: &[(String, String)]) -> Vec { @@ -66,7 +67,7 @@ pub fn hotspots(stats: &[FanStats], top_n: usize) -> Vec { let mut result = Vec::new(); let mut by_fan_in = stats.to_vec(); - by_fan_in.sort_by(|a, b| b.fan_in.cmp(&a.fan_in)); + by_fan_in.sort_by_key(|b| Reverse(b.fan_in)); for s in by_fan_in.iter().take(top_n) { if s.fan_in > 0 { result.push(Hotspot { @@ -78,7 +79,7 @@ pub fn hotspots(stats: &[FanStats], top_n: usize) -> Vec { } let mut by_fan_out = stats.to_vec(); - by_fan_out.sort_by(|a, b| b.fan_out.cmp(&a.fan_out)); + by_fan_out.sort_by_key(|b| Reverse(b.fan_out)); for s in by_fan_out.iter().take(top_n) { if s.fan_out > 0 { result.push(Hotspot { diff --git a/nushell/.config/nushell/autoload/nu_libs.nu b/nushell/.config/nushell/autoload/nu_libs.nu new file mode 100644 index 0000000..426a8eb --- /dev/null +++ b/nushell/.config/nushell/autoload/nu_libs.nu @@ -0,0 +1,10 @@ +# nu_libs — load all lib/* modules on shell startup +# Managed by notfiles (nushell package). Link with: notfiles link nushell +# lib/ai is excluded from lib/mod.nu (requires runtime deps) — loaded separately below. +# lib/extensions is excluded (requires external project repos) — load manually as needed. + +const NU_LIBS = "/Users/joe/dev/nu_libs/lib/mod.nu" +const NU_LIBS_AI = "/Users/joe/dev/nu_libs/lib/ai/mod.nu" + +use $NU_LIBS * +use $NU_LIBS_AI *