diff --git a/modules/home/users/msyds/emacs/lisp/syd/org/latex.el b/modules/home/users/msyds/emacs/lisp/syd/org/latex.el index 0e52cca..bbf2e92 100755 --- a/modules/home/users/msyds/emacs/lisp/syd/org/latex.el +++ b/modules/home/users/msyds/emacs/lisp/syd/org/latex.el @@ -14,6 +14,23 @@ (interactive) (org-latex-preview 'buffer)) +(defun syd-org-edit-quiver-diagram () + (interactive) + (when-let* ((diagram-fragment (org-element-context)) + (_ (org-inside-LaTeX-fragment-p diagram-fragment)) + (diagram-beg (org-element-begin diagram-fragment)) + (diagram-end (org-element-end diagram-fragment)) + (url (save-excursion + (setq syd/buf (buffer-string)) + (and (re-search-forward (rx "% " (group (* anychar)) eol) + diagram-end + t) + (match-string 1))))) + (goto-char diagram-beg) + (set-mark diagram-end) + (browse-url url) + t)) + (use-package org :custom ((org-startup-with-latex-preview t) (org-latex-compile "xelatex")) @@ -24,7 +41,9 @@ :non-normal-prefix syd-alt-localleader-key "L L" #'syd-org-latex-preview-buffer "L r" #'syd-org-latex-preview-recompile-preamble - "L c" #'org-latex-preview-clear-cache)) + "L c" #'org-latex-preview-clear-cache) + :config + (add-hook 'org-ctrl-c-ctrl-c-hook #'syd-org-edit-quiver-diagram)) (defun syd-str (sep &rest strs) (mapconcat #'identity strs sep))