From b09ba6f1ccd1110515a8ac4c99d12487113c87dd Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Sun, 28 Aug 2022 14:22:59 +0200 Subject: add count command mark count counts all occurrences of in the mark store. --- functions/mark.fish | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'functions') diff --git a/functions/mark.fish b/functions/mark.fish index 80e373b..3afc12f 100644 --- a/functions/mark.fish +++ b/functions/mark.fish @@ -112,11 +112,22 @@ function __mark_append_mark --argument mark date end end +function __mark_count --argument mark + if test -z "$mark" + echo "No mark to count" >&2 + return 1 + end + + grep -v '[1-9][0-9][0-9][0-9]:' (__mark_find_store) | sed -r 's/^.{3}//' | grep -o $mark | wc -l + return 0 +end + function __mark_print_usage echo "Usage: mark [cmd | ] date [cmd args]" echo "Cmds:" echo " print [before] [after]: print marks in range [date-before, date-after]" echo " edit: open the mark store file in an editor or using xdg-open" + echo " count : count the occurrences of in the mark store" end function mark --argument cmd date @@ -140,6 +151,8 @@ function mark --argument cmd date __mark_print_dates $date $argv[3] $argv[4] case "--help" "-h" __mark_print_usage + case "count" + __mark_count $argv[2] case "edit" "e" set store (__mark_find_store) if test ! -z "$VISUAL" @@ -161,4 +174,5 @@ function mark --argument cmd date mv $store.new $store end + return $status end -- cgit v1.2.3