diff options
Diffstat (limited to 'autoload/notes.kak')
| -rw-r--r-- | autoload/notes.kak | 37 |
1 files changed, 37 insertions, 0 deletions
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<ret>' -docstring 'Notes' +map global notes n ': new-memo<ret>' -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<ret>' + # 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 ',%<a-|>~/scripts/memos.sh create > /tmp/.kak-memo-response<ret>'" + else + echo "execute-keys -draft ',%<a-|>~/scripts/memos.sh update $name > /tmp/.kak-memo-response<ret>'" + 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' +} |
