Add a limit to last command - notes - a console notes manager using git DIR Log DIR Files DIR Refs DIR Tags DIR LICENSE --- DIR commit d653696ab341e4b8c43e55ef15198b70a6c5f26b DIR parent a17b04a52738103de48395d28fef14ec06008b64 HTML Author: Solene Rapenne <solene@perso.pw> Date: Mon, 16 Jul 2018 11:42:32 +0200 Add a limit to last command Diffstat: M notes | 17 ++++++++++++----- M notes.1 | 8 ++++++-- 2 files changed, 18 insertions(+), 7 deletions(-) --- DIR diff --git a/notes b/notes @@ -25,7 +25,7 @@ usage() { ': show hierarchy tree' \ "$name init" \ ': initialize the git repository' \ - "$name last" \ + "$name last [limit]" \ ': show files ordered by edition time' \ "$name history PATH" \ ': uses tig to display file history' \ @@ -114,13 +114,20 @@ delete() { last() { cd "$REPO" git log --pretty="%cr" --name-only | \ - awk '{ + awk -v limit="$1" '{ date=$0 ; getline; getline; file=$0 ; seen[file]++; if(seen[file]==1) { - printf("%20s: %s\n", date, file) + if(limit != "") { + output++; + if(output < limit) { + printf("%20s: %s\n", date, file) + } + } else { + printf("%20s: %s\n", date, file) + } } }' exit 0 @@ -161,8 +168,8 @@ fi case "$1" in '') display ;; ls) display ;; - i*) initialization ;; - la*) last ;; + init) initialization ;; + last) last "$2" ;; e*) [ -n "$2" ] && edit "$2" ;; hi*) [ -n "$2" ] && histo "$2" ;; r*) [ -n "$2" ] && delete "$2" ;; DIR diff --git a/notes.1 b/notes.1 @@ -61,8 +61,12 @@ Execute on .Ar file to display commit history. -.It Nm Cm last -display files and their last commit time ordered by time. +.It Nm Cm last Op limit +display files and their last commit time ordered by time. If +.Ar limit +is passed, only +.Ar limit +lines are displayed. This is useful to find which files have been modified lastly. .It Nm Cm init