From 47655b7f03b5efebbfb5f0a414ebf137699c3ffb Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Fri, 31 May 2024 20:53:15 +0530 Subject: (Emacs/elisp)~current work in org bookmark --- Emacs/.config/emacs/elisp/org-bookmark.el | 55 +++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 18 deletions(-) (limited to 'Emacs/.config/emacs/elisp/org-bookmark.el') diff --git a/Emacs/.config/emacs/elisp/org-bookmark.el b/Emacs/.config/emacs/elisp/org-bookmark.el index 6bbad5d..f606cde 100644 --- a/Emacs/.config/emacs/elisp/org-bookmark.el +++ b/Emacs/.config/emacs/elisp/org-bookmark.el @@ -25,21 +25,45 @@ (require 'org) -(defvar +bookmark/file (expand-file-name "~/Text/bookmarks.org")) -(defvar +bookmark/mpv-args "--ytdl-raw-options=force-ipv4= --ytdl-format=22") +(defvar +bookmark/file (expand-file-name (concat org-directory "/bookmarks.org"))) +(defvar +bookmark/mpv-args "--ytdl-raw-options=force-ipv4= --ytdl-format=22 -v") + +(defun +bookmark/--extract-heading () + (let ((heading-components (org-heading-components)) + (tags (org-get-tags))) + (message "%s" tags) + (list + (nth 4 heading-components) + (cl-remove-if #'(lambda (tag) (string= tag "bookmark")) tags) + (substring-no-properties + (org-agenda-get-some-entry-text + (point-marker) + most-positive-fixnum))))) + +(defun +bookmark/--extract-all-heading-data () + (cl-remove-if + #'(lambda (x) (member "DONE" (nth 1 x))) + (org-scan-tags + #'+bookmark/--extract-heading + (cdr (org-make-tags-matcher ":bookmark:")) + nil))) + +(defun +bookmark/--heading->record (heading) + (cl-destructuring-bind (name tags url) heading + (cons + (concat name + " " + (substring-no-properties + (cl-reduce #'(lambda (x y) (concat x ":" y)) + tags + :initial-value ""))) + url))) (defun +bookmark/bookmarks () (with-current-buffer (find-file-noselect +bookmark/file) - (org-scan-tags - #'(lambda nil - (let ((heading-components (org-heading-components))) - (cons - (concat (nth 4 heading-components) (nth 5 heading-components)) - (substring-no-properties (org-agenda-get-some-entry-text - (point-marker) - most-positive-fixnum))))) - (cdr (org-make-tags-matcher ":bookmark:")) - nil))) + (mapcar + #'+bookmark/--heading->record + (+bookmark/--extract-all-heading-data)))) (defun +bookmark/open-bookmark () (interactive) @@ -62,12 +86,7 @@ (comint-mode)) (set-process-filter (start-process-shell-command "bookmark-mpv" "*mpv*" - (concat - "mpv " - +bookmark/mpv-args - " \"" - (cdr pair) - "\"")) + (concat "mpv " +bookmark/mpv-args " \"" (cdr pair) "\"")) #'comint-output-filter)) (t (message "[bookmark]: Starting eww") -- cgit v1.2.3-13-gbd6f