summary refs log tree commit diff stats
path: root/user/settings/fish/functions/newest.fish
diff options
context:
space:
mode:
Diffstat (limited to 'user/settings/fish/functions/newest.fish')
-rw-r--r--user/settings/fish/functions/newest.fish14
1 files changed, 14 insertions, 0 deletions
diff --git a/user/settings/fish/functions/newest.fish b/user/settings/fish/functions/newest.fish
new file mode 100644
index 00000000..3f2fa66f
--- /dev/null
+++ b/user/settings/fish/functions/newest.fish
@@ -0,0 +1,14 @@
+function newest
+    if test (count $argv) -eq 0
+        echo "Need at least one path"
+        return 1
+    end
+    for arg in $argv
+        if test -d $arg
+            fd --hidden --print0 --max-depth 1 . $arg |
+                bfs -files0-from - \( -name .git -prune \) -o \( -printf '%TY%Tm%Td%TH%TM %TF %h/%f\n' \) |
+                sort --key 1nr,1 | head --lines 1 |
+                cut -d ' ' -f 2,3
+        end
+    end
+end