diff options
| author | Akshay Nair <phenax5@gmail.com> | 2026-06-30 10:40:17 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2026-06-30 11:15:37 +0530 |
| commit | d60ddc467397f0074f21576ca8ea9e1b1b78a2bd (patch) | |
| tree | fea85335f22df3152c59abc0367c862142757677 /autoload/notes.kak | |
| parent | 7bee16c7013ef1da84e723b1ced976f432d5b77a (diff) | |
| download | kakoune-config-d60ddc467397f0074f21576ca8ea9e1b1b78a2bd.tar.gz kakoune-config-d60ddc467397f0074f21576ca8ea9e1b1b78a2bd.zip | |
Add memos integration
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' +} |
