summaryrefslogtreecommitdiff
path: root/.config/nushell/notes.nu
diff options
context:
space:
mode:
authorWriterV2 <primary-v2@protonmail.com>2026-04-03 22:46:48 +0200
committerWriterV2 <primary-v2@protonmail.com>2026-04-03 22:46:48 +0200
commita1ec4771740d321df4480e8a7224fa10b59f0569 (patch)
tree5e97e8ced79b4fea057fab6e76f80849c053e401 /.config/nushell/notes.nu
Update repo with git init directly in home dir
Diffstat (limited to '.config/nushell/notes.nu')
-rw-r--r--.config/nushell/notes.nu41
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
+}