From d60ddc467397f0074f21576ca8ea9e1b1b78a2bd Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Tue, 30 Jun 2026 10:40:17 +0530 Subject: Add memos integration --- autoload/notes.kak | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'autoload/notes.kak') diff --git a/autoload/notes.kak b/autoload/notes.kak index 3d360a4..ae92e9b 100644 --- a/autoload/notes.kak +++ b/autoload/notes.kak @@ -1,3 +1,40 @@ +declare-user-mode notes +map global user n ': enter-user-mode notes' -docstring 'Notes' +map global notes n ': new-memo' -docstring 'New note' + define-command create-log -params 1.. %{ connect run env "EDITOR=kcr edit" "%val{config}/scripts/logger.sh" %arg{@} } + +declare-option str memos_last_saved_id + +define-command new-memo %{ + set global memos_last_saved_id %{} + edit -scratch '*memos-note*' + # TODO: templates +} + +hook global BufCreate '[*]memos-note[*]' %{ + set-option buffer filetype markdown + map buffer user s ': save-memo-buffer' + # TODO: use write somehow? +} + +define-command save-memo-buffer %{ + evaluate-commands %sh{ + name=$(cat /tmp/.kak-memo-response | jq '.name') + if [ -z "$name" ]; then + echo "execute-keys -draft ',%~/scripts/memos.sh create > /tmp/.kak-memo-response'" + else + echo "execute-keys -draft ',%~/scripts/memos.sh update $name > /tmp/.kak-memo-response'" + fi + } + + evaluate-commands %sh{ + name=$(cat /tmp/.kak-memo-response | jq '.name') + echo "set global memos_last_saved_id %{$name}" + rm -f /tmp/.kak-memo-response 2>/dev/null || true + } + + info 'Saved' +} -- cgit v1.3.1