diff options
Diffstat (limited to 'functions/mark.fish')
| -rw-r--r-- | functions/mark.fish | 14 |
1 files changed, 14 insertions, 0 deletions
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 | <mark>] 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 <mark>: count the occurrences of <mark> 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 |
