From cc58700ad2483cd7ff8c9b56c0a77fc492808c01 Mon Sep 17 00:00:00 2001 From: Raymaekers Luca Date: Fri, 12 Jul 2024 14:56:04 +0200 Subject: checkpoint --- bin/extra/clock | 78 ++++++++++++++++++++++------------- config/essentials/vis/themes/nord.lua | 4 +- config/essentials/vis/visrc.lua | 2 +- 3 files changed, 53 insertions(+), 31 deletions(-) diff --git a/bin/extra/clock b/bin/extra/clock index 6c5bfe0..31f08d0 100755 --- a/bin/extra/clock +++ b/bin/extra/clock @@ -4,74 +4,96 @@ clocks="$HOME"/sync/share/clocks.csv # Create csv file with headers if not exist [ -f "$clocks" ] || - printf 'start,end,message\n' > "$clocks" + printf 'start,end,message\n' >"$clocks" - -if [ "$1" = "-h" ] -then +if [ "$1" = "-h" ]; then >&2 cat <&2 printf 'start>' + start_time="$(head -n1)" + [ "$start_time" ] || exit 1 + + >&2 printf 'end>' + end_time="$(head -n1)" + [ "$end_time" ] || exit 1 + + >&2 printf 'message>' + message="$(head -n1)" + [ "$message" ] || exit 1 + + printf -- '%s,%s,%s\n' \ + "$(date -d "$start_time" +%s)" \ + "$(date -d "$end_time" +%s)" \ + "$message" >>"$clocks" + exit +fi -# print clocks file prettily -if [ "$1" = "-p" ] -then +# print clocks file prettily +if [ "$1" = "-p" ]; then # empty - [ "$(wc -l < "$clocks")" -eq 1 ] && exit + [ "$(wc -l <"$clocks")" -eq 1 ] && exit - timefmt="%y%m%d-%T" IFS="," # skip csv header - tail -n +2 "$clocks" | - while read -r start end message - do - printf "%s - %s | %s\n" "$(date -d "@$start" +"$timefmt" )" "$(date -d "@$end" +"$timefmt")" "$message" - done + tail -n +2 "$clocks" | + while read -r start end message; do + printf "[%s] %s-%s | %s\n" \ + "$(date -d "@$start" +'%m/%d')" \ + "$(date -d "@$start" +'%R')" \ + "$(date -d "@$end" +'%R')" \ + "$message" + done exit fi # edit clocks file in $EDITOR -if [ "$1" = "-e" ] -then +if [ "$1" = "-e" ]; then $EDITOR "$clocks" exit fi trap 'exit 0' INT # The proper way to exit -while true -do - >&2 printf ' > ' - message="$(head -n 1)" +# When no arguments are provided start clocking +while true; do + >&2 printf ' > ' + message="$(head -n 1)" [ "$message" ] || exit 1 printf '\033[1A' # move cursor up once: https://en.wikipedia.org/wiki/ANSI_escape_code start_time="$(date +%s)" - start_time_pretty="$(date -d "@$start_time" +%R)" + start_time_pretty="$(date -d "@$start_time" +%R)" >&2 printf -- '\r%s- > %s' "$start_time_pretty" "$message" # Wait for EOF - cat > /dev/null 2>&1 + cat >/dev/null 2>&1 end_time="$(date +%s)" - end_time_pretty="$(date -d "@$end_time" +%R)" + end_time_pretty="$(date -d "@$end_time" +%R)" >&2 printf -- '\r%s-%s > %s\n' "$start_time_pretty" "$end_time_pretty" "$message" - if printf '%s' "$message" | grep ',' > /dev/null - then + if printf '%s' "$message" | grep ',' >/dev/null; then # escape potential double quotes message="$(printf '%s' "$message" | sed -e 's/"/""/g')" message="\"$message\"" fi # save clocked time and message - printf '%s,%s,%s\n' "$start_time" "$end_time" "$message" >> "$clocks" + printf '%s,%s,%s\n' "$start_time" "$end_time" "$message" >>"$clocks" done diff --git a/config/essentials/vis/themes/nord.lua b/config/essentials/vis/themes/nord.lua index b43a1d3..2acb4f4 100644 --- a/config/essentials/vis/themes/nord.lua +++ b/config/essentials/vis/themes/nord.lua @@ -91,9 +91,9 @@ lexers.STYLE_TARGET = "" -- Markdown lexers.STYLE_HR = "" lexers.STYLE_HEADING_H1 = "fore:" .. colors.orange .. ",bold" -lexers.STYLE_HEADING_H2 = "fore:" .. colors.red .. ",bold" +lexers.STYLE_HEADING_H2 = "fore:" .. colors.magenta .. ",bold" for i = 3, 6 do - lexers["STYLE_HEADING_H" .. i] = "fore:" .. colors.magenta .. ",bold" + lexers["STYLE_HEADING_H" .. i] = "fore:" .. colors.cyan .. ",bold" end lexers.STYLE_BOLD = "bold" lexers.STYLE_ITALIC = "italics" diff --git a/config/essentials/vis/visrc.lua b/config/essentials/vis/visrc.lua index b56b6af..7fc27cf 100644 --- a/config/essentials/vis/visrc.lua +++ b/config/essentials/vis/visrc.lua @@ -148,7 +148,7 @@ vis.events.subscribe(vis.events.WIN_OPEN, function(win) -- luacheck: no unused a map_keys( m.NORMAL, "\\e", - 'V:x/^(\\s*)(.+)$/ c/\\1[ "\\2" ] || exit 1/', + 'V:x/^(\\s*)(.+)$/ c/\\1[ "$\\2" ] || exit 1/', "Condition exit if empty" ) map_cmd(m.NORMAL, "\\sc", "-/\\/,/\\/", "Expand to case") -- cgit v1.2.3