diff options
Diffstat (limited to '.config/nushell/notes.nu')
| -rw-r--r-- | .config/nushell/notes.nu | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/.config/nushell/notes.nu b/.config/nushell/notes.nu new file mode 100644 index 0000000..c591063 --- /dev/null +++ b/.config/nushell/notes.nu @@ -0,0 +1,41 @@ +def open-db-in-memory [] { + if ($env.NOTES_DB_PATH | path exists) { + stor import --file-name (get-db-path) + } else { + stor reset + stor create -t "note" -c {created: datetime, text: str} + stor export --file-name (get-db-path) + } +} + +def save-db-to-file [] { + rm $env.NOTES_DB_PATH + stor export --file-name $env.NOTES_DB_PATH +} + +export def add [text: string] { + open-db-in-memory + stor insert -t note -d { created: (date now), text: ($text) } + save-db-to-file +} + +export def browse [--before: datetime, --after: datetime] { + open-db-in-memory + let before_filter = if ($before != null) { + $before + } else { + date now + } + + let after_filter = if ($after != null) { + $after + } else { + "0001-01-01" | into datetime + } + + let notes = open $env.NOTES_DB_PATH | get note | where {|row| + ($row.created | into datetime) < $before_filter and ($row.created | into datetime) > $after_filter + } + + $notes +} |
