Optimize tag command
This commit is contained in:
parent
46461874b3
commit
7270842948
2 changed files with 28 additions and 15 deletions
23
README.org
23
README.org
|
@ -51,18 +51,19 @@ anki-editor -- Make Anki Cards in Org-mode
|
|||
|
||||
** Command Cheatsheet
|
||||
|
||||
| Command | Brief Description |
|
||||
|-----------------------------------------------+------------------------------------------------------|
|
||||
| =anki-editor-submit= | Send notes in current buffer to Anki. |
|
||||
| =anki-editor-insert-deck= | Insert a deck heading. |
|
||||
| =anki-editor-insert-note= | Insert the skeleton of a note. |
|
||||
| =anki-editor-insert-tags= | Insert tags at point with autocompletion. |
|
||||
| =anki-editor-cloze-region= | Cloze region. |
|
||||
| =anki-editor-export-heading-contents-to-html= | Export the contents of the heading at point to HTML. |
|
||||
| =anki-editor-convert-region-to-html= | Convert and replace region to HTML. |
|
||||
| Command | Brief Description |
|
||||
|-----------------------------------------------+---------------------------------------------------------------------|
|
||||
| =anki-editor-submit= | Send notes in current buffer to Anki. |
|
||||
| =anki-editor-insert-deck= | Insert a deck heading. |
|
||||
| =anki-editor-insert-note= | Insert the skeleton of a note. |
|
||||
| =anki-editor-add-tags= | Add tags to property drawer of current heading with autocompletion. |
|
||||
| =anki-editor-cloze-region= | Cloze region. |
|
||||
| =anki-editor-export-heading-contents-to-html= | Export the contents of the heading at point to HTML. |
|
||||
| =anki-editor-convert-region-to-html= | Convert and replace region to HTML. |
|
||||
|
||||
Note that =anki-editor-submit= will fail if the deck does not exist
|
||||
yet. New decks must be created in Anki first.
|
||||
|
||||
Note that =anki-editor-submit= will fail if the deck does not exist
|
||||
yet. New decks must be created in Anki first.
|
||||
|
||||
*Since I'm not a native English speaker, let me know if there's any ambiguity or grammatical mistakes.*
|
||||
|
||||
|
|
|
@ -303,11 +303,23 @@ Otherwise, it's inserted below current heading at point."
|
|||
(anki-editor--insert-note-skeleton note-heading note-type fields)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun anki-editor-insert-tags ()
|
||||
"Insert tags at point with autocompletion."
|
||||
(defun anki-editor-add-tags ()
|
||||
"Add tags to property drawer of current heading with autocompletion."
|
||||
(interactive)
|
||||
(let ((tags (sort (anki-editor--anki-connect-invoke-result "getTags" 5) #'string-lessp)))
|
||||
(while t (insert (format " %s" (completing-read "Choose a tag: " tags))))))
|
||||
(let ((tags (sort (anki-editor--anki-connect-invoke-result "getTags" 5) #'string-lessp))
|
||||
(prop (substring (symbol-name anki-editor-prop-note-tags) 1)))
|
||||
(while t
|
||||
(let ((existing (or (org-entry-get nil prop) "")))
|
||||
(org-entry-put
|
||||
nil prop
|
||||
(concat
|
||||
existing
|
||||
(format " %s"
|
||||
(completing-read "Choose a tag: "
|
||||
(cl-set-difference
|
||||
tags
|
||||
(split-string existing " ")
|
||||
:test #'string-equal)))))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun anki-editor-cloze-region (&optional arg)
|
||||
|
|
Loading…
Reference in a new issue