diff --git a/autoload/assono-worktime-calc.nu b/autoload/assono-worktime-calc.nu new file mode 100644 index 0000000..1315bd5 --- /dev/null +++ b/autoload/assono-worktime-calc.nu @@ -0,0 +1,41 @@ +export def lumen-assono-worktime-calc [datestr = string]: nothing -> string { + let $datestr = $datestr | str replace ' +' ' ' + mut $dateArray = [] + let $rawDateArray = $datestr | split row ' ' + if (($rawDateArray | length) mod 2 == 1) { + mut $spliceCounter = true + for $i in $rawDateArray { + if ($spliceCounter) { + $dateArray = $dateArray | append $i + } + $spliceCounter = not $spliceCounter + } + } else { + $dateArray = $rawDateArray + } + + if (($dateArray | length) mod 2 == 1) { + error make {msg: 'Uneven Times given!'} + } + + mut $dateArrayOutput = [] + mut $dateArrayOutputBuilderCounter = true + for $i in $dateArray { + $dateArrayOutput = $dateArrayOutput | append ($i | date from-human | format date '%H:%M') + if ($dateArrayOutputBuilderCounter) { + $dateArrayOutput = $dateArrayOutput | append '-' + } else { + $dateArrayOutput = $dateArrayOutput | append '|' + } + $dateArrayOutputBuilderCounter = not $dateArrayOutputBuilderCounter + } + let $dateArrayOutput = ($dateArrayOutput | drop 1) | str join ' ' + + # $dateArray[0] + mut $hours = 0min + while (($dateArray | length) > 0) { + $hours += ($dateArray | get 1 | into datetime) - ($dateArray | get 0 | into datetime) + $dateArray = $dateArray | skip 2 + } + $"($dateArrayOutput)\n($hours | into string)" +} diff --git a/autoload/search-content.nu b/autoload/search-content.nu new file mode 100644 index 0000000..41bc852 --- /dev/null +++ b/autoload/search-content.nu @@ -0,0 +1,15 @@ +export def lumen-search-content [searchstr = string]: any -> table { + let $tmp = $in + mut $path = pwd + if ($tmp != null) { + $path = $tmp + } + cd $path + ls -a **/* | par-each {|i| + {file: $i.name, + content: (if (($i | get type) == file ) { + try {open $i.name --raw | find $searchstr} catch {|err| {}} + }) + } + } | compact content -e +} diff --git a/config.nu b/config.nu index cda2a38..d8b0296 100644 --- a/config.nu +++ b/config.nu @@ -20,62 +20,3 @@ $env.config.show_banner = false $env.EDITOR = 'hx' $env.VISUAL = 'hx' - - -export def lumen-search-content [searchstr = string]: any -> table { - let $tmp = $in - mut $path = pwd - if ($tmp != null) { - $path = $tmp - } - cd $path - ls -a **/* | par-each {|i| - {file: $i.name, - content: (if (($i | get type) == file ) { - try {open $i.name --raw | find $searchstr} catch {|err| {}} - }) - } - } | compact content -e -} - -export def lumen-assono-worktime-calc [datestr = string]: nothing -> any { - let $datestr = $datestr | str replace ' +' ' ' - mut $dateArray = [] - let $rawDateArray = $datestr | split row ' ' - if (($rawDateArray | length) mod 2 == 1) { - mut $spliceCounter = true - for $i in $rawDateArray { - if ($spliceCounter) { - $dateArray = $dateArray | append $i - } - $spliceCounter = not $spliceCounter - } - } else { - $dateArray = $rawDateArray - } - - if (($dateArray | length) mod 2 == 1) { - error make {msg: 'Uneven Times given!'} - } - - mut $dateArrayOutput = [] - mut $dateArrayOutputBuilderCounter = true - for $i in $dateArray { - $dateArrayOutput = $dateArrayOutput | append ($i | date from-human | format date '%H:%M') - if ($dateArrayOutputBuilderCounter) { - $dateArrayOutput = $dateArrayOutput | append '-' - } else { - $dateArrayOutput = $dateArrayOutput | append '|' - } - $dateArrayOutputBuilderCounter = not $dateArrayOutputBuilderCounter - } - let $dateArrayOutput = ($dateArrayOutput | drop 1) | str join ' ' - - # $dateArray[0] - mut $hours = 0min - while (($dateArray | length) > 0) { - $hours += ($dateArray | get 1 | into datetime) - ($dateArray | get 0 | into datetime) - $dateArray = $dateArray | skip 2 - } - $"($dateArrayOutput)\n($hours | into string)" -}