diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2016-05-02 16:12:08 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2016-05-02 16:12:08 +0200 |
| commit | 5e59a460d01538d89fc1bdd11a4e30a2c1b669dd (patch) | |
| tree | 175f8c1b9b3d8d7749a5e4f76e356b29568ebe76 /functions/__mark_set.fish | |
| parent | 552edcc7f97b8eddbd6a97481b4d04f0704748ce (diff) | |
| download | mark-5e59a460d01538d89fc1bdd11a4e30a2c1b669dd.tar.gz mark-5e59a460d01538d89fc1bdd11a4e30a2c1b669dd.zip | |
join all files into mark.fish
Diffstat (limited to 'functions/__mark_set.fish')
| -rw-r--r-- | functions/__mark_set.fish | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/functions/__mark_set.fish b/functions/__mark_set.fish deleted file mode 100644 index c995f2d..0000000 --- a/functions/__mark_set.fish +++ /dev/null @@ -1,74 +0,0 @@ -function __mark_set --description 'mark a day in a store' - # defaults - set mark_store $__mark_store - set sign "*" - set day (math (date +"%d") "*1") - set month (math (date +"%m") "*1") - set year (date +"%Y") - - # parse argv - for i in (seq 1 (count $argv)) - if string match -q -- "-d=*" "$argv[$i]" - set day (string replace -- "-d=" "" $argv[$i]) - else if string match -q -- "-m=*" "$argv[$i]" - set month (string replace -- "-m=" "" $argv[$i]) - else if string match -q -- "-y=*" "$argv[$i]" - set year (string replace -- "-y=" "" $argv[$i]) - else if string match -q -- "-s=*" "$argv[$i]" - set mark_store (string replace -- "-s=" "" "$argv[$i]") - else if string match -q -- "-z=*" "$argv[$i]" - set sign (string replace -- "-z=" "" "$argv[$i]") - else - echo unrecognised option: $argv[$i] >&2 - return 1 - end - end - - if not test -f $mark_store - return 1 - end - - # calculate offset: $day+1 (+1 if m > 9) because of "<month>:" - set offset (math "($day + 1 + $month/10)") - - set marks (__mark_print_block store $mark_store) - set marks (string split " " $marks) - - # copy everything before #store# - string split " " (string match -r "^.*#store#" (echo (cat $mark_store))) > $mark_store.new - - # crawl store - set m 0 - # correct year sub-block - set is_year false - for l in $marks - if begin test $is_year= false - and string match -q -r "^$year:\$" $l - end - set year_found true - end - - if test $is_year= true - if test $m -ne $month - echo $l >> $mark_store.new - else - # replace the char at offset with $sign - echo $l | sed "s/^\(.\{$offset\}\)?/\1$sign/" >> $mark_store.new - end - - set m (math "$m+1") - # not in year sub-block any more - if test $m -eq 13 - set is_year false - end - else - echo $l >> $mark_store.new - end - end - - #copy everything after #store# - set store_and_rest (string match -r "#store#.*\$" (echo (cat $mark_store))) - string split " " (string replace -r "#store#[^#]*" "" $store_and_rest) >> $mark_store.new - - mv $mark_store.new $mark_store -end |
