Compare commits
11 Commits
dev_org_ml
...
master
Author | SHA1 | Date |
---|---|---|
Nathan Dwarshuis | 3037d399b0 | |
Nathan Dwarshuis | 99a7bdbcc9 | |
Nathan Dwarshuis | 955c0e6a29 | |
Nathan Dwarshuis | 4bcad96690 | |
Nathan Dwarshuis | 53b136fed8 | |
Nathan Dwarshuis | 99f8e459c5 | |
Nathan Dwarshuis | 4664df1312 | |
Nathan Dwarshuis | a2fed80ae7 | |
Nathan Dwarshuis | e375584661 | |
Nathan Dwarshuis | d52ae5bd22 | |
Nathan Dwarshuis | 20a38ace1d |
54
etc/conf.org
54
etc/conf.org
|
@ -833,8 +833,6 @@ Company provides a dropdown of completion options. It has many backends which ar
|
||||||
:delight "κ"
|
:delight "κ"
|
||||||
:config
|
:config
|
||||||
(setq company-idle-delay 0
|
(setq company-idle-delay 0
|
||||||
company-dabbrev-minimum-length 5
|
|
||||||
company-dabbrev-other-buffers nil
|
|
||||||
company-minimum-prefix-length 3))
|
company-minimum-prefix-length 3))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** auto formatting
|
** auto formatting
|
||||||
|
@ -1786,11 +1784,11 @@ Save all org buffers 1 minute before the hour, then commit whatever I saved.
|
||||||
*** stateless configuration
|
*** stateless configuration
|
||||||
=org-ml= provides stateless functions for operating on org buffers.
|
=org-ml= provides stateless functions for operating on org buffers.
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
;; (use-package org-ml
|
(use-package org-ml
|
||||||
;; :straight t
|
:straight t
|
||||||
;; :config
|
:config
|
||||||
;; ;; make the match functions super fast with memoization
|
;; make the match functions super fast with memoization
|
||||||
;; (setq org-ml-memoize-match-patterns t))
|
(setq org-ml-memoize-match-patterns t))
|
||||||
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
*** personal library
|
*** personal library
|
||||||
|
@ -1806,11 +1804,9 @@ The advantage of doing it this way is that I can byte-compile and test independe
|
||||||
(nd/load-and-compile (nd/expand-lib-directory "interval"))
|
(nd/load-and-compile (nd/expand-lib-directory "interval"))
|
||||||
(nd/load-and-compile (nd/expand-lib-directory "dag"))
|
(nd/load-and-compile (nd/expand-lib-directory "dag"))
|
||||||
(nd/load-and-compile (nd/expand-lib-directory "org-x"))
|
(nd/load-and-compile (nd/expand-lib-directory "org-x"))
|
||||||
(nd/load-and-compile (nd/expand-local-pkg-directory "org-ml"))
|
|
||||||
|
|
||||||
(require 'dag)
|
(require 'dag)
|
||||||
(require 'org-x)
|
(require 'org-x)
|
||||||
(require 'org-ml)
|
|
||||||
#+end_src
|
#+end_src
|
||||||
** buffer interface
|
** buffer interface
|
||||||
*** folding
|
*** folding
|
||||||
|
@ -2001,24 +1997,24 @@ Some common functions that I use often that don't seem to exist
|
||||||
** calfw
|
** calfw
|
||||||
This is a nifty calendar. Sometimes it is way faster than the agenda buffer for looking at long term things.
|
This is a nifty calendar. Sometimes it is way faster than the agenda buffer for looking at long term things.
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package calfw
|
;; (use-package calfw
|
||||||
:straight t
|
;; :straight t
|
||||||
:config
|
;; :config
|
||||||
(setq cfw:fchar-junction ?╋
|
;; (setq cfw:fchar-junction ?╋
|
||||||
cfw:fchar-vertical-line ?┃
|
;; cfw:fchar-vertical-line ?┃
|
||||||
cfw:fchar-horizontal-line ?━
|
;; cfw:fchar-horizontal-line ?━
|
||||||
cfw:fchar-left-junction ?┣
|
;; cfw:fchar-left-junction ?┣
|
||||||
cfw:fchar-right-junction ?┫
|
;; cfw:fchar-right-junction ?┫
|
||||||
cfw:fchar-top-junction ?┯
|
;; cfw:fchar-top-junction ?┯
|
||||||
cfw:fchar-top-left-corner ?┏
|
;; cfw:fchar-top-left-corner ?┏
|
||||||
cfw:fchar-top-right-corner ?┓))
|
;; cfw:fchar-top-right-corner ?┓))
|
||||||
|
|
||||||
(use-package calfw-org
|
;; (use-package calfw-org
|
||||||
:straight t
|
;; :straight t
|
||||||
:after calfw
|
;; :after calfw
|
||||||
:config
|
;; :config
|
||||||
(setq cfw:org-agenda-schedule-args
|
;; (setq cfw:org-agenda-schedule-args
|
||||||
'(:deadline* :scheduled* :timestamp)))
|
;; '(:deadline* :scheduled* :timestamp)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** exporting
|
** exporting
|
||||||
*** latex to pdf command
|
*** latex to pdf command
|
||||||
|
@ -3663,12 +3659,6 @@ Everyone forgets keybindings. When typing a key chord, this will display a windo
|
||||||
:init
|
:init
|
||||||
(which-key-mode))
|
(which-key-mode))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** company
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(define-key company-active-map (kbd "<tab>") 'company-complete-selection)
|
|
||||||
(define-key company-active-map (kbd "<return>") 'company-complete-selection t)
|
|
||||||
(define-key company-active-map "\r" 'company-complete-selection t)
|
|
||||||
#+end_src
|
|
||||||
** hydra
|
** hydra
|
||||||
Hydra allows commands to be arranged on a set of keybindings like a tree.
|
Hydra allows commands to be arranged on a set of keybindings like a tree.
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
8
init.el
8
init.el
|
@ -10,13 +10,7 @@
|
||||||
|
|
||||||
;; ensure we use built-in org mode
|
;; ensure we use built-in org mode
|
||||||
;; (use-package org :straight org-plus-contrib)
|
;; (use-package org :straight org-plus-contrib)
|
||||||
;; (straight-use-package '(org :type built-in))
|
(straight-use-package '(org :type built-in))
|
||||||
(straight-use-package
|
|
||||||
'(org :type git
|
|
||||||
:repo "git://git.savannah.gnu.org/emacs/org-mode.git"
|
|
||||||
:branch "release_9.7.9"))
|
|
||||||
;;(load-file "~/.config/emacs/straight/repos/org/lisp/org-element-ast.el")
|
|
||||||
;;(load-file "~/.config/emacs/straight/repos/org/lisp/org-element.el")
|
|
||||||
|
|
||||||
;; load everything else
|
;; load everything else
|
||||||
(org-babel-load-file nd/conf-main)
|
(org-babel-load-file nd/conf-main)
|
||||||
|
|
|
@ -77,7 +77,7 @@ Returns a new timespan."
|
||||||
(when timestamp
|
(when timestamp
|
||||||
(let ((offset (org-element-property :begin headline))
|
(let ((offset (org-element-property :begin headline))
|
||||||
(start-time (org-ml-timestamp-get-start-time timestamp))
|
(start-time (org-ml-timestamp-get-start-time timestamp))
|
||||||
(range (org-ml-timestamp-get-length timestamp)))
|
(range (org-ml-timestamp-get-range timestamp)))
|
||||||
(org-x-agg--make-timespan start-time range offset filepath))))
|
(org-x-agg--make-timespan start-time range offset filepath))))
|
||||||
|
|
||||||
(defun org-x-agg--effort-to-seconds (effort-str)
|
(defun org-x-agg--effort-to-seconds (effort-str)
|
||||||
|
@ -178,7 +178,7 @@ time of the :start-time property."
|
||||||
(cl-flet
|
(cl-flet
|
||||||
((append-unixtime
|
((append-unixtime
|
||||||
(span)
|
(span)
|
||||||
`(:unixtime ,(org-ml-timelist-to-unixtime (plist-get span :start-time)) ,@span)))
|
`(:unixtime ,(org-ml-time-to-unixtime (plist-get span :start-time)) ,@span)))
|
||||||
(-map #'append-unixtime timespans)))
|
(-map #'append-unixtime timespans)))
|
||||||
|
|
||||||
;; get conflict headlines
|
;; get conflict headlines
|
||||||
|
@ -230,7 +230,7 @@ returned."
|
||||||
"Return TIMESPANS that conflict with each other.
|
"Return TIMESPANS that conflict with each other.
|
||||||
The returned list will be a list of pairs of timespans
|
The returned list will be a list of pairs of timespans
|
||||||
like (SPAN-a SPAN-b) which are two timespans that conflict."
|
like (SPAN-a SPAN-b) which are two timespans that conflict."
|
||||||
(->> (--filter (org-ml-timelist-has-time (plist-get it :start-time)) timespans)
|
(->> (--filter (org-ml-time-is-long (plist-get it :start-time)) timespans)
|
||||||
(org-x-agg--timespans-append-unixtime)
|
(org-x-agg--timespans-append-unixtime)
|
||||||
(org-x-agg--timespans-remove-past)
|
(org-x-agg--timespans-remove-past)
|
||||||
(--sort (< (plist-get it :unixtime) (plist-get other :unixtime)))
|
(--sort (< (plist-get it :unixtime) (plist-get other :unixtime)))
|
||||||
|
@ -265,7 +265,7 @@ like (SPAN-a SPAN-b) which are two timespans that conflict."
|
||||||
;; `encode-time' and `decode-time' might not use the right time zone
|
;; `encode-time' and `decode-time' might not use the right time zone
|
||||||
;; unless specified manually
|
;; unless specified manually
|
||||||
(-let* ((tz (current-time-zone))
|
(-let* ((tz (current-time-zone))
|
||||||
(start-time* (if (org-ml-timelist-has-time start-time) start-time
|
(start-time* (if (org-ml-time-is-long start-time) start-time
|
||||||
`(,@(-take 3 start-time) 0 0)))
|
`(,@(-take 3 start-time) 0 0)))
|
||||||
((y m d H M) start-time*)
|
((y m d H M) start-time*)
|
||||||
(start-epoch (encode-float-time `(0 ,M ,H ,d ,m ,y nil nil ,tz)))
|
(start-epoch (encode-float-time `(0 ,M ,H ,d ,m ,y nil nil ,tz)))
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
"Headline todo keyword for canceled task or project.")
|
"Headline todo keyword for canceled task or project.")
|
||||||
|
|
||||||
(defconst org-x-done-keywords `(,org-x-kw-done ,org-x-kw-canc)
|
(defconst org-x-done-keywords `(,org-x-kw-done ,org-x-kw-canc)
|
||||||
"Headline todo keywords that mark a task as `complete'.")
|
"Headline todo keywords that mark a task as 'complete'.")
|
||||||
|
|
||||||
(defconst org-x-meeting-keywords (cons org-x-kw-todo org-x-done-keywords)
|
(defconst org-x-meeting-keywords (cons org-x-kw-todo org-x-done-keywords)
|
||||||
"Allowed keywords for meetings.")
|
"Allowed keywords for meetings.")
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
|
|
||||||
(defun org-x-dag-timestamp-to-epoch (ts)
|
(defun org-x-dag-timestamp-to-epoch (ts)
|
||||||
(->> (org-ml-timestamp-get-start-time ts)
|
(->> (org-ml-timestamp-get-start-time ts)
|
||||||
(org-ml-timelist-to-unixtime)))
|
(org-ml-time-to-unixtime)))
|
||||||
|
|
||||||
;; calendar interface
|
;; calendar interface
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@
|
||||||
(defun org-x-dag-datetimes-same-length-p (datetime0 datetime1)
|
(defun org-x-dag-datetimes-same-length-p (datetime0 datetime1)
|
||||||
;; ASSUME all digits in this comparison are on the calendar/clock (eg day 32
|
;; ASSUME all digits in this comparison are on the calendar/clock (eg day 32
|
||||||
;; does not 'rollover' to day 1 on the next month)
|
;; does not 'rollover' to day 1 on the next month)
|
||||||
(not (xor (org-ml-timelist-has-time datetime0) (org-ml-timelist-has-time datetime1))))
|
(not (xor (org-ml-time-is-long datetime0) (org-ml-time-is-long datetime1))))
|
||||||
|
|
||||||
;; TODO some of this is redundant because I'm checking the length twice
|
;; TODO some of this is redundant because I'm checking the length twice
|
||||||
;; Maybe a -> Maybe a -> (a -> a -> b) -> b -> Maybe b
|
;; Maybe a -> Maybe a -> (a -> a -> b) -> b -> Maybe b
|
||||||
|
@ -110,7 +110,7 @@
|
||||||
(defun org-x-dag-datetime-split (datetime)
|
(defun org-x-dag-datetime-split (datetime)
|
||||||
;; TODO this function doesn't guarantee that a short timestamp is properly
|
;; TODO this function doesn't guarantee that a short timestamp is properly
|
||||||
;; formatted
|
;; formatted
|
||||||
(if (org-ml-timelist-has-time datetime)
|
(if (org-ml-time-is-long datetime)
|
||||||
(-split-at 3 datetime)
|
(-split-at 3 datetime)
|
||||||
`(,(org-x-dag-datetime-to-date datetime) nil)))
|
`(,(org-x-dag-datetime-to-date datetime) nil)))
|
||||||
|
|
||||||
|
@ -403,7 +403,7 @@ relative shift in days from ABS."
|
||||||
|
|
||||||
(defun org-x-dag-partition-timestamp (ts)
|
(defun org-x-dag-partition-timestamp (ts)
|
||||||
(list :datetime (org-ml-timestamp-get-start-time ts)
|
(list :datetime (org-ml-timestamp-get-start-time ts)
|
||||||
:length (org-ml-timestamp-get-length ts)
|
:length (org-ml-timestamp-get-range ts)
|
||||||
:pos (org-ml-get-property :begin ts)
|
:pos (org-ml-get-property :begin ts)
|
||||||
:repeater (org-ml-timestamp-extract-modulus 'repeater ts)
|
:repeater (org-ml-timestamp-extract-modulus 'repeater ts)
|
||||||
:warning (org-ml-timestamp-extract-modulus 'warning ts)))
|
:warning (org-ml-timestamp-extract-modulus 'warning ts)))
|
||||||
|
@ -427,7 +427,7 @@ relative shift in days from ABS."
|
||||||
(-max-by #'org-x-dag-pts> ps))
|
(-max-by #'org-x-dag-pts> ps))
|
||||||
|
|
||||||
(defun org-x-dag-pts-is-long-p (pts)
|
(defun org-x-dag-pts-is-long-p (pts)
|
||||||
(org-ml-timelist-has-time (plist-get pts :datetime)))
|
(org-ml-time-is-long (plist-get pts :datetime)))
|
||||||
|
|
||||||
(defun org-x-dag-pts-to-epoch (pts)
|
(defun org-x-dag-pts-to-epoch (pts)
|
||||||
(->> (plist-get pts :datetime)
|
(->> (plist-get pts :datetime)
|
||||||
|
@ -804,7 +804,7 @@ used for optimization."
|
||||||
(-if-let (,c (-some->> it-planning
|
(-if-let (,c (-some->> it-planning
|
||||||
(org-ml-get-property :closed)
|
(org-ml-get-property :closed)
|
||||||
(org-ml-timestamp-get-start-time)
|
(org-ml-timestamp-get-start-time)
|
||||||
(org-ml-timelist-to-unixtime)))
|
(org-ml-time-to-unixtime)))
|
||||||
(cond
|
(cond
|
||||||
((equal it-todo org-x-kw-canc)
|
((equal it-todo org-x-kw-canc)
|
||||||
(let ((it-comptime (complete-time ,c t)))
|
(let ((it-comptime (complete-time ,c t)))
|
||||||
|
@ -852,7 +852,7 @@ deadline (eg via epoch time) or if it has a repeater."
|
||||||
(if (car (org-ml-timestamp-get-repeater deadline)) t
|
(if (car (org-ml-timestamp-get-repeater deadline)) t
|
||||||
(let ((this-epoch (-some->> deadline
|
(let ((this-epoch (-some->> deadline
|
||||||
(org-ml-timestamp-get-start-time)
|
(org-ml-timestamp-get-start-time)
|
||||||
(org-ml-timelist-to-unixtime))))
|
(org-ml-time-to-unixtime))))
|
||||||
(< parent-epoch this-epoch))))))
|
(< parent-epoch this-epoch))))))
|
||||||
|
|
||||||
(defun org-x-dag-bs-action-project-inner (node-data ancestry child-bss)
|
(defun org-x-dag-bs-action-project-inner (node-data ancestry child-bss)
|
||||||
|
@ -1298,7 +1298,7 @@ deadline (eg via epoch time) or if it has a repeater."
|
||||||
(deadline (-some->> planning
|
(deadline (-some->> planning
|
||||||
(org-ml-get-property :deadline)
|
(org-ml-get-property :deadline)
|
||||||
(org-ml-timestamp-get-start-time)
|
(org-ml-timestamp-get-start-time)
|
||||||
(org-ml-timelist-to-unixtime))))
|
(org-ml-time-to-unixtime))))
|
||||||
(list :canceled-parent-p (or c (equal todo org-x-kw-canc))
|
(list :canceled-parent-p (or c (equal todo org-x-kw-canc))
|
||||||
:held-parent-p (or h (equal todo org-x-kw-hold))
|
:held-parent-p (or h (equal todo org-x-kw-hold))
|
||||||
:parent-deadline (cond
|
:parent-deadline (cond
|
||||||
|
@ -1526,7 +1526,7 @@ deadline (eg via epoch time) or if it has a repeater."
|
||||||
(-if-let (sched (-some->> (plist-get m :planning)
|
(-if-let (sched (-some->> (plist-get m :planning)
|
||||||
(org-ml-get-property :scheduled)
|
(org-ml-get-property :scheduled)
|
||||||
(org-ml-timestamp-get-start-time)))
|
(org-ml-timestamp-get-start-time)))
|
||||||
(if (org-ml-timelist-has-time sched)
|
(if (org-ml-time-is-long sched)
|
||||||
(either :left "WKP branch node must be short scheduled")
|
(either :left "WKP branch node must be short scheduled")
|
||||||
(-let (((&plist :date d :offset o) date-offset)
|
(-let (((&plist :date d :offset o) date-offset)
|
||||||
(this-abs (org-x-dag-date-to-absolute sched)))
|
(this-abs (org-x-dag-date-to-absolute sched)))
|
||||||
|
@ -1557,7 +1557,7 @@ deadline (eg via epoch time) or if it has a repeater."
|
||||||
(offset (->> (alist-get org-x-prop-week-len props nil nil #'equal)
|
(offset (->> (alist-get org-x-prop-week-len props nil nil #'equal)
|
||||||
(string-to-number)))
|
(string-to-number)))
|
||||||
(ancestry (cond
|
(ancestry (cond
|
||||||
((or (not datetime) (org-ml-timelist-has-time datetime))
|
((or (not datetime) (org-ml-time-is-long datetime))
|
||||||
(either :left "WKP root nodes must be short scheduled"))
|
(either :left "WKP root nodes must be short scheduled"))
|
||||||
((< offset 1)
|
((< offset 1)
|
||||||
(either :left "WKP root week length must be an int >= 1"))
|
(either :left "WKP root week length must be an int >= 1"))
|
||||||
|
@ -1811,7 +1811,7 @@ denoted by CUR-KEY with any errors that are found."
|
||||||
(lambda (id this-h res)
|
(lambda (id this-h res)
|
||||||
(-let* (((&alist :lifetime l) res)
|
(-let* (((&alist :lifetime l) res)
|
||||||
(d (org-x-dag-adjlist-id-planning adjlist :deadline id))
|
(d (org-x-dag-adjlist-id-planning adjlist :deadline id))
|
||||||
(ns (if (and d (car (org-ml-timestamp-get-repeater d)))
|
(ns (if (car (org-ml-timestamp-get-repeater d))
|
||||||
(org-x-dag--ns-err "EPG has deadline with repeater" nil)
|
(org-x-dag--ns-err "EPG has deadline with repeater" nil)
|
||||||
(either :right `(:committed ,l :deadline ,d)))))
|
(either :right `(:committed ,l :deadline ,d)))))
|
||||||
(ht-set this-h id ns)
|
(ht-set this-h id ns)
|
||||||
|
@ -2044,8 +2044,8 @@ DEF-FUN and the output from GET-FUN (type :: a -> NS)."
|
||||||
(org-ml-timestamp-get-start-time)))
|
(org-ml-timestamp-get-start-time)))
|
||||||
(let ((set-dead (org-ml-timestamp-get-start-time to-set)))
|
(let ((set-dead (org-ml-timestamp-get-start-time to-set)))
|
||||||
(cond
|
(cond
|
||||||
((xor (org-ml-timelist-has-time this-dead)
|
((xor (org-ml-time-is-long this-dead)
|
||||||
(org-ml-timelist-has-time set-dead))
|
(org-ml-time-is-long set-dead))
|
||||||
(-> "EPG as parent with different deadline precision"
|
(-> "EPG as parent with different deadline precision"
|
||||||
(org-x-dag--ns-err nil)))
|
(org-x-dag--ns-err nil)))
|
||||||
((org-x-dag-datetime< set-dead this-dead)
|
((org-x-dag-datetime< set-dead this-dead)
|
||||||
|
@ -2599,7 +2599,7 @@ highest in the tree."
|
||||||
|
|
||||||
(defun org-x-dag-id->planning-epoch (which id)
|
(defun org-x-dag-id->planning-epoch (which id)
|
||||||
(-some->> (org-x-dag-id->planning-datetime which id)
|
(-some->> (org-x-dag-id->planning-datetime which id)
|
||||||
(org-ml-timelist-to-unixtime)))
|
(org-ml-time-to-unixtime)))
|
||||||
|
|
||||||
(defun org-x-dag-id->agenda-timestamp (id)
|
(defun org-x-dag-id->agenda-timestamp (id)
|
||||||
"Retrieve timestamp information of ID for sorting agenda views.
|
"Retrieve timestamp information of ID for sorting agenda views.
|
||||||
|
@ -2892,7 +2892,7 @@ encountered will be returned."
|
||||||
('warning '(:warning-value :warning-unit :warning-type))
|
('warning '(:warning-value :warning-unit :warning-type))
|
||||||
('repeater '(:repeater-value :repeater-unit :repeater-type))))
|
('repeater '(:repeater-value :repeater-unit :repeater-type))))
|
||||||
(islongp (->> (org-ml-timestamp-get-start-time ts)
|
(islongp (->> (org-ml-timestamp-get-start-time ts)
|
||||||
(org-ml-timelist-has-time))))
|
(org-ml-time-is-long))))
|
||||||
(-when-let ((value unit type) (org-ml-get-properties props ts))
|
(-when-let ((value unit type) (org-ml-get-properties props ts))
|
||||||
(let ((v (convert-value islongp value unit))
|
(let ((v (convert-value islongp value unit))
|
||||||
(u (convert-unit unit)))
|
(u (convert-unit unit)))
|
||||||
|
@ -2944,7 +2944,7 @@ FUTURE-LIMIT in a list."
|
||||||
|
|
||||||
(defun org-x-dag-get-scheduled-at (sel-date pts)
|
(defun org-x-dag-get-scheduled-at (sel-date pts)
|
||||||
(-let* (((&plist :datetime d :repeater r) pts)
|
(-let* (((&plist :datetime d :repeater r) pts)
|
||||||
(islongp (org-ml-timelist-has-time d))
|
(islongp (org-ml-time-is-long d))
|
||||||
(sel-date+ (org-x-dag-datetime-shift sel-date 1 'submonth))
|
(sel-date+ (org-x-dag-datetime-shift sel-date 1 'submonth))
|
||||||
((future-limit cur)
|
((future-limit cur)
|
||||||
(if islongp
|
(if islongp
|
||||||
|
@ -2955,7 +2955,7 @@ FUTURE-LIMIT in a list."
|
||||||
|
|
||||||
(defun org-x-dag-get-deadlines-at (sel-date pts)
|
(defun org-x-dag-get-deadlines-at (sel-date pts)
|
||||||
(-let* (((&plist :datetime d :repeater r :warning w) pts)
|
(-let* (((&plist :datetime d :repeater r :warning w) pts)
|
||||||
(islongp (org-ml-timelist-has-time d))
|
(islongp (org-ml-time-is-long d))
|
||||||
((warn-shift warn-shifttype)
|
((warn-shift warn-shifttype)
|
||||||
(if w w
|
(if w w
|
||||||
(let ((f (if islongp 1440 1)))
|
(let ((f (if islongp 1440 1)))
|
||||||
|
@ -3465,14 +3465,14 @@ FUTURE-LIMIT in a list."
|
||||||
;; agenda/calendar
|
;; agenda/calendar
|
||||||
|
|
||||||
(defun org-x-dag-show-gaps (sel-date ids)
|
(defun org-x-dag-show-gaps (sel-date ids)
|
||||||
(let* ((epoch (org-ml-timelist-to-unixtime sel-date))
|
(let* ((epoch (org-ml-time-to-unixtime sel-date))
|
||||||
(epoch+ (+ epoch 86400))
|
(epoch+ (+ epoch 86400))
|
||||||
(epoch- (- epoch 86400)))
|
(epoch- (- epoch 86400)))
|
||||||
(cl-flet*
|
(cl-flet*
|
||||||
((to-interval
|
((to-interval
|
||||||
(duration datetime)
|
(duration datetime)
|
||||||
(when (and (< 0 duration) (org-ml-timelist-has-time datetime))
|
(when (and (< 0 duration) (org-ml-time-is-long datetime))
|
||||||
(let* ((start (org-ml-timelist-to-unixtime datetime))
|
(let* ((start (org-ml-time-to-unixtime datetime))
|
||||||
(end (+ start duration)))
|
(end (+ start duration)))
|
||||||
(when (or (and (<= epoch start) (<= start epoch+))
|
(when (or (and (<= epoch start) (<= start epoch+))
|
||||||
(and (<= epoch- start) (<= epoch end)))
|
(and (<= epoch- start) (<= epoch end)))
|
||||||
|
@ -3605,7 +3605,7 @@ FUTURE-LIMIT in a list."
|
||||||
(x)
|
(x)
|
||||||
(-let* (((&plist :datetime :id) x)
|
(-let* (((&plist :datetime :id) x)
|
||||||
(duration (or (org-x-dag-id->duration id) 0))
|
(duration (or (org-x-dag-id->duration id) 0))
|
||||||
(start (org-ml-timelist-to-unixtime datetime)))
|
(start (org-ml-time-to-unixtime datetime)))
|
||||||
`(,start ,(+ start (* 60 duration)))))
|
`(,start ,(+ start (* 60 duration)))))
|
||||||
(format-dtl
|
(format-dtl
|
||||||
(fun dtl conflict)
|
(fun dtl conflict)
|
||||||
|
@ -3621,7 +3621,7 @@ FUTURE-LIMIT in a list."
|
||||||
(can-conflict-p
|
(can-conflict-p
|
||||||
(dtl)
|
(dtl)
|
||||||
(-let (((&plist :datetime :id) dtl))
|
(-let (((&plist :datetime :id) dtl))
|
||||||
(and (org-ml-timelist-has-time datetime)
|
(and (org-ml-time-is-long datetime)
|
||||||
(not (org-x-dag-id->is-done-p id))))))
|
(not (org-x-dag-id->is-done-p id))))))
|
||||||
(with-temp-buffer
|
(with-temp-buffer
|
||||||
(org-mode)
|
(org-mode)
|
||||||
|
@ -3669,7 +3669,7 @@ FUTURE-LIMIT in a list."
|
||||||
;; headline parent links
|
;; headline parent links
|
||||||
|
|
||||||
(defun org-x-dag-section-get-parent-links (children)
|
(defun org-x-dag-section-get-parent-links (children)
|
||||||
(-some->> (--find (org-x--is-drawer-with-name org-x-drwr-parent-links it) children)
|
(->> (--find (org-x--is-drawer-with-name org-x-drwr-parent-links it) children)
|
||||||
(org-x-dag-drawer-get-parent-links)))
|
(org-x-dag-drawer-get-parent-links)))
|
||||||
|
|
||||||
(defun org-x-dag-section-set-parent-links (ids children)
|
(defun org-x-dag-section-set-parent-links (ids children)
|
||||||
|
@ -3681,9 +3681,9 @@ FUTURE-LIMIT in a list."
|
||||||
(if ids (cons (org-x-dag-build-parent-link-drawer ids) children) children)))
|
(if ids (cons (org-x-dag-build-parent-link-drawer ids) children) children)))
|
||||||
|
|
||||||
(defun org-x-dag-headline-get-parent-links (headline)
|
(defun org-x-dag-headline-get-parent-links (headline)
|
||||||
(-some->> headline
|
(->> headline
|
||||||
(org-ml-headline-get-contents (org-x-logbook-config))
|
(org-ml-headline-get-contents (org-x-logbook-config))
|
||||||
(org-x-dag-section-get-parent-links)))
|
(org-x-dag-section-get-parent-links)))
|
||||||
|
|
||||||
(defun org-x-dag-headline-set-parent-links (ids headline)
|
(defun org-x-dag-headline-set-parent-links (ids headline)
|
||||||
(org-ml-headline-map-contents* (org-x-logbook-config)
|
(org-ml-headline-map-contents* (org-x-logbook-config)
|
||||||
|
@ -3759,11 +3759,12 @@ FUTURE-LIMIT in a list."
|
||||||
(cl-flet
|
(cl-flet
|
||||||
((has-date-p
|
((has-date-p
|
||||||
(date headline)
|
(date headline)
|
||||||
(-when-let (sched (-some--> (org-ml-headline-get-planning headline)
|
(-when-let (sched (-some->> (org-ml-headline-get-planning headline)
|
||||||
(plist-get it :scheduled)
|
(org-ml-get-property :scheduled)
|
||||||
(org-x-dag-datetime-split it)
|
(org-ml-timestamp-get-start-time)
|
||||||
(car it)
|
(org-x-dag-datetime-split)
|
||||||
(org-x-dag-date-to-absolute it)))
|
(car)
|
||||||
|
(org-x-dag-date-to-absolute)))
|
||||||
(= sched date))))
|
(= sched date))))
|
||||||
(--find (has-date-p date it) headlines)))
|
(--find (has-date-p date it) headlines)))
|
||||||
|
|
||||||
|
@ -3867,7 +3868,7 @@ FUTURE-LIMIT in a list."
|
||||||
(org-x-dag-build-planning-id-headline title 4 paragraph ids))
|
(org-x-dag-build-planning-id-headline title 4 paragraph ids))
|
||||||
|
|
||||||
(defun org-x-dag-build-dlp-headline (title paragraph ids datetime)
|
(defun org-x-dag-build-dlp-headline (title paragraph ids datetime)
|
||||||
(let ((pl (list :scheduled datetime)))
|
(let ((pl (org-ml-build-planning! :scheduled datetime)))
|
||||||
(->> (org-x-dag-build-planning-id-headline title 4 paragraph ids)
|
(->> (org-x-dag-build-planning-id-headline title 4 paragraph ids)
|
||||||
(org-ml-headline-set-planning pl))))
|
(org-ml-headline-set-planning pl))))
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ nothing."
|
||||||
(with-current-buffer buffer
|
(with-current-buffer buffer
|
||||||
(widen)
|
(widen)
|
||||||
(goto-char pos)
|
(goto-char pos)
|
||||||
(org-fold-show-context 'agenda)
|
(org-show-context 'agenda)
|
||||||
,@body
|
,@body
|
||||||
,@get-head-form)
|
,@get-head-form)
|
||||||
,@update-form
|
,@update-form
|
||||||
|
|
|
@ -94,7 +94,7 @@ entire subtrees to save time and ignore tasks")
|
||||||
(car)
|
(car)
|
||||||
(org-ml-get-property :value)
|
(org-ml-get-property :value)
|
||||||
(org-ml-timestamp-get-end-time)
|
(org-ml-timestamp-get-end-time)
|
||||||
(org-ml-timelist-to-unixtime))))
|
(org-ml-time-to-unixtime))))
|
||||||
(cond
|
(cond
|
||||||
((and first-item-ut first-clock-ut (< first-item-ut first-clock-ut))
|
((and first-item-ut first-clock-ut (< first-item-ut first-clock-ut))
|
||||||
first-clock-ut)
|
first-clock-ut)
|
||||||
|
@ -294,7 +294,7 @@ the epoch time of the timestamp."
|
||||||
(org-x-headline-is-closed-p)))
|
(org-x-headline-is-closed-p)))
|
||||||
|
|
||||||
(defun org-x-headline-is-created-in-future ()
|
(defun org-x-headline-is-created-in-future ()
|
||||||
"Return non-nil if current headline was \"created\" in the future.
|
"Return non-nil if current headline was 'created' in the future.
|
||||||
This should not happen and is an error if it does, and the
|
This should not happen and is an error if it does, and the
|
||||||
headline is tested analogously to `org-x-headline-is-created-p'
|
headline is tested analogously to `org-x-headline-is-created-p'
|
||||||
except tests if the timestamp is in the future. Actual returned
|
except tests if the timestamp is in the future. Actual returned
|
||||||
|
@ -321,11 +321,11 @@ timestamp."
|
||||||
(scheduled-ut (-some->> planning
|
(scheduled-ut (-some->> planning
|
||||||
(org-ml-get-property :scheduled)
|
(org-ml-get-property :scheduled)
|
||||||
(org-ml-timestamp-get-start-time)
|
(org-ml-timestamp-get-start-time)
|
||||||
(org-ml-timelist-to-unixtime)))
|
(org-ml-time-to-unixtime)))
|
||||||
(deadline-ut (-some->> planning
|
(deadline-ut (-some->> planning
|
||||||
(org-ml-get-property :deadline)
|
(org-ml-get-property :deadline)
|
||||||
(org-ml-timestamp-get-start-time)
|
(org-ml-timestamp-get-start-time)
|
||||||
(org-ml-timelist-to-unixtime)))
|
(org-ml-time-to-unixtime)))
|
||||||
(created-ut (-some->> (org-ml-headline-get-node-property org-x-prop-created hl)
|
(created-ut (-some->> (org-ml-headline-get-node-property org-x-prop-created hl)
|
||||||
(org-2ft))))
|
(org-2ft))))
|
||||||
;; not inert if headline is scheduled or deadlined in the future
|
;; not inert if headline is scheduled or deadlined in the future
|
||||||
|
@ -504,7 +504,7 @@ property."
|
||||||
|
|
||||||
(defmacro org-x-headline-is-task-with-p (&rest body)
|
(defmacro org-x-headline-is-task-with-p (&rest body)
|
||||||
"Return t if all of BODY is t on the current headline.
|
"Return t if all of BODY is t on the current headline.
|
||||||
`it' is bound to the keyword (if any)."
|
'it' is bound to the keyword (if any)."
|
||||||
(declare (indent 0))
|
(declare (indent 0))
|
||||||
`(-when-let (it (org-x-headline-is-task-p))
|
`(-when-let (it (org-x-headline-is-task-p))
|
||||||
(and ,@body t)))
|
(and ,@body t)))
|
||||||
|
@ -562,7 +562,7 @@ property."
|
||||||
|
|
||||||
(defun org-x-headline-get-meeting-drawer (drawer-name)
|
(defun org-x-headline-get-meeting-drawer (drawer-name)
|
||||||
"Return DRAWER-NAME under current headline.
|
"Return DRAWER-NAME under current headline.
|
||||||
If drawer is present but has no children, return `none'. If
|
If drawer is present but has no children, return 'none'. If
|
||||||
drawer is present and has a plain-list, return its items as a
|
drawer is present and has a plain-list, return its items as a
|
||||||
list of nodes. If none of these conditions are true, return nil."
|
list of nodes. If none of these conditions are true, return nil."
|
||||||
(-when-let (d (->> (org-ml-parse-this-headline)
|
(-when-let (d (->> (org-ml-parse-this-headline)
|
||||||
|
@ -1281,7 +1281,7 @@ latter codes in the list trump earlier ones."
|
||||||
(org-ml-match org-x--first-active-ts-pattern)
|
(org-ml-match org-x--first-active-ts-pattern)
|
||||||
(car)
|
(car)
|
||||||
(org-ml-timestamp-get-start-time)
|
(org-ml-timestamp-get-start-time)
|
||||||
(org-ml-timelist-to-unixtime)))
|
(org-ml-time-to-unixtime)))
|
||||||
(new-status
|
(new-status
|
||||||
(cur-status ts)
|
(cur-status ts)
|
||||||
(let ((new (cond
|
(let ((new (cond
|
||||||
|
@ -1528,7 +1528,7 @@ ARG and INTERACTIVE are passed to `org-store-link'."
|
||||||
(node)
|
(node)
|
||||||
(-some->> (org-x-metablock-get-timestamp node)
|
(-some->> (org-x-metablock-get-timestamp node)
|
||||||
(org-ml-timestamp-get-start-time)
|
(org-ml-timestamp-get-start-time)
|
||||||
(org-ml-timelist-to-unixtime)
|
(org-ml-time-to-unixtime)
|
||||||
(< (float-time)))))
|
(< (float-time)))))
|
||||||
(->> (org-x-parse-file-headlines (org-x-get-daily-plan-file) 'all)
|
(->> (org-x-parse-file-headlines (org-x-get-daily-plan-file) 'all)
|
||||||
(--filter (null (org-ml-headline-get-subheadlines it)))
|
(--filter (null (org-ml-headline-get-subheadlines it)))
|
||||||
|
@ -1614,7 +1614,7 @@ ARG and INTERACTIVE are passed to `org-store-link'."
|
||||||
(ts (-some->> (org-ml-headline-get-planning headline)
|
(ts (-some->> (org-ml-headline-get-planning headline)
|
||||||
(org-ml-get-property :scheduled)
|
(org-ml-get-property :scheduled)
|
||||||
(org-ml-timestamp-get-start-time)
|
(org-ml-timestamp-get-start-time)
|
||||||
(org-ml-timelist-to-unixtime))))
|
(org-ml-time-to-unixtime))))
|
||||||
(when (org-ml-is-type 'plain-list first)
|
(when (org-ml-is-type 'plain-list first)
|
||||||
(->> (org-ml-get-children first)
|
(->> (org-ml-get-children first)
|
||||||
(--map (org-x--make-agenda-metaitem headline is-closed ts it))))))
|
(--map (org-x--make-agenda-metaitem headline is-closed ts it))))))
|
||||||
|
@ -1723,8 +1723,7 @@ This includes unchecking all checkboxes, marking keywords as
|
||||||
(--remove (org-x--is-drawer-with-name org-x-drwr-agenda it))))
|
(--remove (org-x--is-drawer-with-name org-x-drwr-agenda it))))
|
||||||
;; remove CLOSED planning entry
|
;; remove CLOSED planning entry
|
||||||
(org-ml-headline-map-planning*
|
(org-ml-headline-map-planning*
|
||||||
(plist-put it :closed nil))
|
(-some->> it (org-ml-planning-set-timestamp! :closed nil)))
|
||||||
;; (-some->> it (org-ml-planning-set-timestamp! :closed nil)))
|
|
||||||
;; clear item checkboxes
|
;; clear item checkboxes
|
||||||
(org-ml-match-map* '(section :any * item)
|
(org-ml-match-map* '(section :any * item)
|
||||||
(org-ml-set-property :checkbox 'off it))
|
(org-ml-set-property :checkbox 'off it))
|
||||||
|
@ -1763,14 +1762,11 @@ timestamp in the contents of the headline will be shifted."
|
||||||
subtree)
|
subtree)
|
||||||
(t
|
(t
|
||||||
(org-ml-headline-map-planning*
|
(org-ml-headline-map-planning*
|
||||||
(-let (((&plist :scheduled s :deadline d) it))
|
(-some->> it
|
||||||
(when s
|
(org-ml-map-property* :scheduled
|
||||||
(->> (org-ml-timelist-shift offset unit s)
|
(when it (org-ml-timestamp-shift offset unit it)))
|
||||||
(plist-put it :scheduled)))
|
(org-ml-map-property* :deadline
|
||||||
(when d
|
(when it (org-ml-timestamp-shift offset unit it))))
|
||||||
(->> (org-ml-timelist-shift offset unit d)
|
|
||||||
(plist-put it :deadline)))
|
|
||||||
it)
|
|
||||||
subtree)))))
|
subtree)))))
|
||||||
(shift
|
(shift
|
||||||
(offset unit subtree)
|
(offset unit subtree)
|
||||||
|
@ -1789,8 +1785,7 @@ timestamp in the contents of the headline will be shifted."
|
||||||
(--map-when (org-ml-get-property :todo-keyword it)
|
(--map-when (org-ml-get-property :todo-keyword it)
|
||||||
(assign-id it)
|
(assign-id it)
|
||||||
it)))))
|
it)))))
|
||||||
(->> (-repeat n headline)
|
(->> (org-ml-clone-node-n n headline)
|
||||||
(--map (org-element-copy it t))
|
|
||||||
(--map-indexed (org-x--subtree-shift-timestamps
|
(--map-indexed (org-x--subtree-shift-timestamps
|
||||||
(* offset (1+ it-index)) unit it))
|
(* offset (1+ it-index)) unit it))
|
||||||
(-map #'assign-id))))
|
(-map #'assign-id))))
|
||||||
|
@ -1901,7 +1896,7 @@ including those that are inherited."
|
||||||
(let ((atodo (org-ml-get-property :todo-keyword headline))
|
(let ((atodo (org-ml-get-property :todo-keyword headline))
|
||||||
(atime (-> (substring (cdr org-time-stamp-formats) 1 -1)
|
(atime (-> (substring (cdr org-time-stamp-formats) 1 -1)
|
||||||
(format-time-string))))
|
(format-time-string))))
|
||||||
(->> (org-element-copy headline t)
|
(->> (org-ml-clone-node headline)
|
||||||
(org-ml-headline-set-node-property "ARCHIVE_TIME" atime)
|
(org-ml-headline-set-node-property "ARCHIVE_TIME" atime)
|
||||||
(org-ml-headline-set-node-property "ARCHIVE_FILE" afile)
|
(org-ml-headline-set-node-property "ARCHIVE_FILE" afile)
|
||||||
(org-ml-headline-set-node-property "ARCHIVE_OLPATH" apath)
|
(org-ml-headline-set-node-property "ARCHIVE_OLPATH" apath)
|
||||||
|
@ -1941,7 +1936,7 @@ and slow."
|
||||||
(org-ml-set-property :todo-keyword org-x-kw-done)
|
(org-ml-set-property :todo-keyword org-x-kw-done)
|
||||||
(org-ml-headline-map-planning*
|
(org-ml-headline-map-planning*
|
||||||
(let ((time (org-ml-unixtime-to-time-long (float-time))))
|
(let ((time (org-ml-unixtime-to-time-long (float-time))))
|
||||||
(plist-put it :closed time)))
|
(org-ml-planning-set-timestamp! :closed time it)))
|
||||||
;; shift it to the top level
|
;; shift it to the top level
|
||||||
(org-ml-shift-property :level level-shift)
|
(org-ml-shift-property :level level-shift)
|
||||||
(org-ml-match-map* '(:any * headline)
|
(org-ml-match-map* '(:any * headline)
|
||||||
|
@ -1968,7 +1963,7 @@ and slow."
|
||||||
(org-ml-unixtime-to-time-long)
|
(org-ml-unixtime-to-time-long)
|
||||||
(org-ml-build-timestamp!)
|
(org-ml-build-timestamp!)
|
||||||
(org-ml-to-string)
|
(org-ml-to-string)
|
||||||
(list org-x-prop-created))))
|
(org-ml-build-node-property org-x-prop-created))))
|
||||||
(org-ml-update-this-headline*
|
(org-ml-update-this-headline*
|
||||||
(org-ml-headline-map-node-properties* (-snoc it np) it))))
|
(org-ml-headline-map-node-properties* (-snoc it np) it))))
|
||||||
|
|
||||||
|
@ -1983,7 +1978,7 @@ If ARG is non-nil use long timestamp format."
|
||||||
(org-ml-unixtime-to-time-short ut))
|
(org-ml-unixtime-to-time-short ut))
|
||||||
(org-ml-build-timestamp!)
|
(org-ml-build-timestamp!)
|
||||||
(org-ml-to-string)
|
(org-ml-to-string)
|
||||||
(list org-x-prop-expire))))
|
(org-ml-build-node-property org-x-prop-expire))))
|
||||||
(org-ml-update-this-headline*
|
(org-ml-update-this-headline*
|
||||||
(org-ml-headline-map-node-properties* (cons np it) it)))))
|
(org-ml-headline-map-node-properties* (cons np it) it)))))
|
||||||
|
|
||||||
|
@ -1991,7 +1986,7 @@ If ARG is non-nil use long timestamp format."
|
||||||
"Set days-to-live of the current headline."
|
"Set days-to-live of the current headline."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((np (->> (org-x--read-number-from-minibuffer "Days to live" t)
|
(let ((np (->> (org-x--read-number-from-minibuffer "Days to live" t)
|
||||||
(list org-x-prop-days-to-live))))
|
(org-ml-build-node-property org-x-prop-days-to-live))))
|
||||||
(org-ml-update-this-headline*
|
(org-ml-update-this-headline*
|
||||||
(org-ml-headline-map-node-properties* (cons np it) it))))
|
(org-ml-headline-map-node-properties* (cons np it) it))))
|
||||||
|
|
||||||
|
@ -2132,7 +2127,7 @@ This will return matching matcher form for FILTER and TYPE
|
||||||
where TYPE is not in the regular `org-agenda-filter-make-matcher'
|
where TYPE is not in the regular `org-agenda-filter-make-matcher'
|
||||||
function. This is intended to be used as :before-until advice and
|
function. This is intended to be used as :before-until advice and
|
||||||
will return nil if the type is not valid (which is currently
|
will return nil if the type is not valid (which is currently
|
||||||
`property')"
|
'property')"
|
||||||
(when (eq type 'property)
|
(when (eq type 'property)
|
||||||
(-some->> (-map #'org-x-agenda-filter-make-property-matcher-form filter)
|
(-some->> (-map #'org-x-agenda-filter-make-property-matcher-form filter)
|
||||||
(cons 'and))))
|
(cons 'and))))
|
||||||
|
|
|
@ -1,113 +1,111 @@
|
||||||
(("ESS" . "d60c13a6a347ea7a91ea3408bb464cff0ab4fef6")
|
(("ESS" . "950bf61054bd96d2203ac0457792c0af8dfba721")
|
||||||
("Highlight-Indentation-for-Emacs" . "d88db4248882da2d4316e76ed673b4ac1fa99ce3")
|
("Highlight-Indentation-for-Emacs" . "d88db4248882da2d4316e76ed673b4ac1fa99ce3")
|
||||||
("ace-window" . "77115afc1b0b9f633084cf7479c767988106c196")
|
("ace-window" . "77115afc1b0b9f633084cf7479c767988106c196")
|
||||||
("anaconda-mode" . "f900bd7656a03aa24ef3295251f266736f7756eb")
|
("anaconda-mode" . "f900bd7656a03aa24ef3295251f266736f7756eb")
|
||||||
("annalist.el" . "e1ef5dad75fa502d761f70d9ddf1aeb1c423f41d")
|
("annalist.el" . "e1ef5dad75fa502d761f70d9ddf1aeb1c423f41d")
|
||||||
("auctex" . "d7aaa66f4844025b14e32f9af558153a9f1ef7cf")
|
("auctex" . "ca8c9077c4c889cc11d150af9f0d9bd5914d702e")
|
||||||
("auth-source-xoauth2" . "5d1adfa649bb5a9df20a2fa89f235a55a64b52e4")
|
("auth-source-xoauth2" . "5d1adfa649bb5a9df20a2fa89f235a55a64b52e4")
|
||||||
("avy" . "933d1f36cca0f71e4acb5fac707e9ae26c536264")
|
("avy" . "be612110cb116a38b8603df367942e2bb3d9bdbe")
|
||||||
("bats-mode" . "fa88930b1baba101ae6474f289a239a236a7d19f")
|
("bats-mode" . "fa88930b1baba101ae6474f289a239a236a7d19f")
|
||||||
("beacon" . "85261a928ae0ec3b41e639f05291ffd6bf7c231c")
|
("beacon" . "85261a928ae0ec3b41e639f05291ffd6bf7c231c")
|
||||||
("biblio.el" . "ee52f6cda82ea6fbc3b400e7b12132595cc0374c")
|
("biblio.el" . "ee52f6cda82ea6fbc3b400e7b12132595cc0374c")
|
||||||
("blacken" . "3c6eb86ad871ca14fcfd4e5c0e7b285afa1f1f71")
|
("blacken" . "3c6eb86ad871ca14fcfd4e5c0e7b285afa1f1f71")
|
||||||
("c-eldoc" . "f4ede1f37f6de583376669735326367d84a0a917")
|
("c-eldoc" . "f4ede1f37f6de583376669735326367d84a0a917")
|
||||||
("citeproc-el" . "54184baaff555b5c7993d566d75dd04ed485b5c0")
|
("citeproc-el" . "54184baaff555b5c7993d566d75dd04ed485b5c0")
|
||||||
("clang-format" . "f01d16be89a4421169c421d25cfdddb3ad62460f")
|
("clang-format" . "9f4358fcc8b04018cc1ed46fcc96fc7bfa361a47")
|
||||||
("company-anaconda" . "169252fca79a79da41ef22f2ec0eab0cf1313966")
|
("company-anaconda" . "169252fca79a79da41ef22f2ec0eab0cf1313966")
|
||||||
("company-auctex" . "9400a2ec7459dde8cbf1a5d50dfee4e300ed7e18")
|
("company-auctex" . "9400a2ec7459dde8cbf1a5d50dfee4e300ed7e18")
|
||||||
("company-c-headers" . "9d384571b1190e99d0a789e5296176d69a3d0771")
|
("company-c-headers" . "9d384571b1190e99d0a789e5296176d69a3d0771")
|
||||||
("company-irony" . "b44711dfce445610c1ffaec4951c6ff3882b216a")
|
("company-irony" . "b44711dfce445610c1ffaec4951c6ff3882b216a")
|
||||||
("company-math" . "3eb006874e309ff4076d947fcbd61bb6806aa508")
|
("company-math" . "3eb006874e309ff4076d947fcbd61bb6806aa508")
|
||||||
("company-mode" . "9c273fc7c1a9dd69ccf508589211c4f8bd0e0765")
|
("company-mode" . "1321e285a54dfe43cae71f52e58bff4f0c8c161d")
|
||||||
("compat" . "c1f94ac75d6ea7f93c8da51e3f78ab3f39dbc2a2")
|
("compat" . "99d74e635b76c3fa0b8403391e9d2efbd29f9901")
|
||||||
("conda.el" . "05de0c8f0cf336d90c044446aaa066ee13001b83")
|
("conda.el" . "ce748a53f9c7d7a7d112632d32c848d6e5482e18")
|
||||||
("csv-mode" . "6979fc18ebe133cfe2fca02efda9a9f0cd13428a")
|
("csv-mode" . "6979fc18ebe133cfe2fca02efda9a9f0cd13428a")
|
||||||
("dash.el" . "1de9dcb83eacfb162b6d9a118a4770b1281bcd84")
|
("dash.el" . "1de9dcb83eacfb162b6d9a118a4770b1281bcd84")
|
||||||
("delight" . "15acb0f0ba400c470e378f9984b315f9e02c1122")
|
("delight" . "15acb0f0ba400c470e378f9984b315f9e02c1122")
|
||||||
("dhall-mode" . "87ab69fe765d87b3bb1604a306a8c44d6887681d")
|
("dhall-mode" . "87ab69fe765d87b3bb1604a306a8c44d6887681d")
|
||||||
("dired-du" . "c16cad8c40a022a03dee1956a15ff44d1e42dc07")
|
("dired-du" . "c16cad8c40a022a03dee1956a15ff44d1e42dc07")
|
||||||
("dired-hacks" . "e9e408e8571aee5574ca0a431ef15cac5a3585d4")
|
("dired-hacks" . "e9e408e8571aee5574ca0a431ef15cac5a3585d4")
|
||||||
("dockerfile-mode" . "4d893bd2da15833ce056332e6c972d5d93e78f04")
|
("dockerfile-mode" . "39a012a27fcf6fb629c447d13b6974baf906714c")
|
||||||
("ebib" . "cc81455e7c87182d4226b878bef1d000f0866953")
|
("ebib" . "5ea510a1e4ab17a442352d0212777da5f78d4be2")
|
||||||
("el-get" . "847901f07bdf67763fa3a6c0fb057048cd58603b")
|
("el-get" . "c0713e8d8e8ad987fe1283d76b9c637a10f048ef")
|
||||||
("elpy" . "c40bab559fe77dcef6b90d5502eba1ecd566e86d")
|
("elpy" . "c40bab559fe77dcef6b90d5502eba1ecd566e86d")
|
||||||
("emacs-async" . "af47d6f930f93d4fdc4ca46e19e17547bf486c4c")
|
("emacs-async" . "e1d46f97a56e0c57206bd1ea31d04311097a8cbb")
|
||||||
("emacs-buttercup" . "bf01a33f8bc2d3664121d3b20f7496e67ce55e6a")
|
("emacs-buttercup" . "dfbef2177209e3a045e981b7d2956ec46ce3b25b")
|
||||||
("emacs-calfw" . "03abce97620a4a7f7ec5f911e669da9031ab9088")
|
("emacs-dashboard" . "187699e2d80f6a3b0ec7b2fb2e1d7ece2712208f")
|
||||||
("emacs-dashboard" . "946b9957470a3cac6b089bdf2d9edd07a29fcc9c")
|
("emacs-format-all-the-code" . "f8feea08fef7ed542b8e676e90445d57ebd2c458")
|
||||||
("emacs-format-all-the-code" . "9ae47456dad2925e4d41f58bd2c864b87f82aa8b")
|
("emacs-htmlize" . "ed5e5b05fd260e8f161a488d56f10e7f6e01fb75")
|
||||||
("emacs-htmlize" . "8e3841c837b4b78bd72ad7f0436e919f39315a46")
|
("emacs-language-id" . "44452e4f7962aca41cc2539fce1d27799d6e656c")
|
||||||
("emacs-language-id" . "dbfbc4903ffb042552b458fac76ee9f67a022036")
|
|
||||||
("emacs-refactor" . "cac1b52932926f56d7f6d2923732d20bbd20670d")
|
("emacs-refactor" . "cac1b52932926f56d7f6d2923732d20bbd20670d")
|
||||||
("emacs-reformatter" . "f13f5b4ce51db95ea317d57a83be0358bbf3ec30")
|
("emacs-reformatter" . "0d29a04d69d47599e2cb7f1a8f8e897a2b592921")
|
||||||
("emacs-request" . "01e338c335c07e4407239619e57361944a82cb8a")
|
("emacs-request" . "01e338c335c07e4407239619e57361944a82cb8a")
|
||||||
("emacs-web-server" . "3982c55e9061475038a3ccd61aecb2de3d407cec")
|
("emacs-web-server" . "3982c55e9061475038a3ccd61aecb2de3d407cec")
|
||||||
("emacs-which-key" . "38d4308d1143b61e4004b6e7a940686784e51500")
|
("emacs-which-key" . "38d4308d1143b61e4004b6e7a940686784e51500")
|
||||||
("emacsmirror-mirror" . "5676d81e6309fccf096767a1321174c9798ade69")
|
("emacsmirror-mirror" . "8cbbdaa750c897d05ee71980834699a7d7c2d208")
|
||||||
("evil" . "b7ab3840dbfc1da5f9ad56542fc94e3dab4be5f1")
|
("evil" . "5db0bdc7dcd9300b983526d37cbe480f35e36211")
|
||||||
("evil-ReplaceWithRegister" . "91cc7bf21a94703c441cc9212214075b226b7f67")
|
("evil-ReplaceWithRegister" . "91cc7bf21a94703c441cc9212214075b226b7f67")
|
||||||
("evil-collection" . "5a1315bfc7f21533de12f35544b29c29ccec491d")
|
("evil-collection" . "772571fc6762b6cd1d35cc869e266de9a5c6022b")
|
||||||
("evil-commentary" . "c5945f28ce47644c828aac1f5f6ec335478d17fb")
|
("evil-commentary" . "c5945f28ce47644c828aac1f5f6ec335478d17fb")
|
||||||
("evil-org-mode" . "b1f309726b1326e1a103742524ec331789f2bf94")
|
("evil-org-mode" . "b1f309726b1326e1a103742524ec331789f2bf94")
|
||||||
("evil-surround" . "da05c60b0621cf33161bb4335153f75ff5c29d91")
|
("evil-surround" . "da05c60b0621cf33161bb4335153f75ff5c29d91")
|
||||||
("f.el" . "931b6d0667fe03e7bf1c6c282d6d8d7006143c52")
|
("f.el" . "1e7020dc0d4c52d3da9bd610d431cab13aa02d8c")
|
||||||
("fill-column-indicator" . "c35f9de072c241699b57bcb46da84bed5af29cfe")
|
("fill-column-indicator" . "c35f9de072c241699b57bcb46da84bed5af29cfe")
|
||||||
("flycheck" . "5217e0e02f487d70e3d418e5e6ce884fc9711511")
|
("flycheck" . "7a6398ea3538a898eba0276f0f89b2f878325a89")
|
||||||
("flycheck-clang-analyzer" . "646d9f3a80046ab231a07526778695d5decad92d")
|
("flycheck-clang-analyzer" . "646d9f3a80046ab231a07526778695d5decad92d")
|
||||||
("flycheck-haskell" . "b7c4861aa754220b7d0cfc05aa0895bb35665683")
|
("flycheck-haskell" . "b7c4861aa754220b7d0cfc05aa0895bb35665683")
|
||||||
("flycheck-package" . "75efa098cf17dc14c363e2ca9b68afdac7766b5b")
|
("flycheck-package" . "75efa098cf17dc14c363e2ca9b68afdac7766b5b")
|
||||||
("flyspell-correct" . "1e7a5a56362dd875dddf848b9a9e25d1395b9d37")
|
("flyspell-correct" . "1e7a5a56362dd875dddf848b9a9e25d1395b9d37")
|
||||||
("gnu-elpa-mirror" . "b612d60157ce0e17d4698900871e8e6be249d66c")
|
("gnu-elpa-mirror" . "3d0759ef4792b6461f2979a4e70e1c819df7283a")
|
||||||
("goto-chg" . "72f556524b88e9d30dc7fc5b0dc32078c166fda7")
|
("goto-chg" . "72f556524b88e9d30dc7fc5b0dc32078c166fda7")
|
||||||
("graphviz-dot-mode" . "8ff793b13707cb511875f56e167ff7f980a31136")
|
("graphviz-dot-mode" . "8ff793b13707cb511875f56e167ff7f980a31136")
|
||||||
("haskell-mode" . "7d4529ac4443d70719638806cb80325a418110b9")
|
("haskell-mode" . "727f72a2a4b8e4fd0a7b62129668baea55a2c3e0")
|
||||||
("helm-bibtex" . "8b71b4f5ce62eeaf18067f57faaddc06449fbe1c")
|
("helm-bibtex" . "8b71b4f5ce62eeaf18067f57faaddc06449fbe1c")
|
||||||
("ht.el" . "1c49aad1c820c86f7ee35bf9fff8429502f60fef")
|
("ht.el" . "1c49aad1c820c86f7ee35bf9fff8429502f60fef")
|
||||||
("hydra" . "317e1de33086637579a7aeb60f77ed0405bf359b")
|
("hydra" . "317e1de33086637579a7aeb60f77ed0405bf359b")
|
||||||
("iedit" . "27c61866b1b9b8d77629ac702e5f48e67dfe0d3b")
|
("iedit" . "27c61866b1b9b8d77629ac702e5f48e67dfe0d3b")
|
||||||
("impatient-mode" . "a4e4e12852840996b027cb8e9fb2b809c37a0ee3")
|
("impatient-mode" . "a4e4e12852840996b027cb8e9fb2b809c37a0ee3")
|
||||||
("inf-ruby" . "6399a3668224aa48423c54e81383f73e5e39439a")
|
("inf-ruby" . "b234625c85a48cc71e7045f5d48f079f410d576a")
|
||||||
("inheritenv" . "e8b012933cf5cc8deee8d961ca6c6c0d92745218")
|
("inheritenv" . "bac62ca6324828623cf8ce5a3d6aee0fcb65d620")
|
||||||
("irony-mode" . "40e0ce19eb850bdf1f77225f11713cc816250d95")
|
("irony-mode" . "40e0ce19eb850bdf1f77225f11713cc816250d95")
|
||||||
("jinja2-mode" . "03e5430a7efe1d163a16beaf3c82c5fd2c2caee1")
|
("jinja2-mode" . "03e5430a7efe1d163a16beaf3c82c5fd2c2caee1")
|
||||||
("js-comint" . "103e5748dff6d97fea1bea08e3a517491d76b5ac")
|
("js-comint" . "ef2ccccad5740f3d8b5295f52a35df4f62471480")
|
||||||
("json-mode" . "77125b01c0ddce537085201098bea9b4b8ba6be3")
|
("json-mode" . "77125b01c0ddce537085201098bea9b4b8ba6be3")
|
||||||
("json-snatcher" . "b28d1c0670636da6db508d03872d96ffddbc10f2")
|
("json-snatcher" . "b28d1c0670636da6db508d03872d96ffddbc10f2")
|
||||||
("let-alist" . "8141e7c941105c92e89bba44e73aae6cdd962b49")
|
("let-alist" . "4e05e158612f360f6080b1349d3962b1c8fee902")
|
||||||
("lispy" . "fe44efd21573868638ca86fc8313241148fabbe3")
|
("lispy" . "fe44efd21573868638ca86fc8313241148fabbe3")
|
||||||
("list-utils" . "f02dcef36330871855346f9eab97eef58d323d9a")
|
("list-utils" . "f02dcef36330871855346f9eab97eef58d323d9a")
|
||||||
("lua-mode" . "d074e4134b1beae9ed4c9b512af741ca0d852ba3")
|
("lua-mode" . "d074e4134b1beae9ed4c9b512af741ca0d852ba3")
|
||||||
("magit" . "b2b07b993ec2d80f6f7b8b34df0cc77565d9fb18")
|
("magit" . "61f6a778ab5b0ca97069778a5955ae527996cd0f")
|
||||||
("markdown-mode" . "6102ac5b7301b4c4fc0262d9c6516693d5a33f2b")
|
("markdown-mode" . "8a7773f87733866a961ea4c518a4a2f283f21970")
|
||||||
("math-symbol-lists" . "ac3eb053d3b576fcdd192b0ac6ad5090ea3a7079")
|
("math-symbol-lists" . "ac3eb053d3b576fcdd192b0ac6ad5090ea3a7079")
|
||||||
("melpa" . "f164afd56fe77159209247c648c8f3adc21067dc")
|
("melpa" . "a21e230a1e8034076b2a271809ccf613476eeea7")
|
||||||
("nix-mode" . "719feb7868fb567ecfe5578f6119892c771ac5e5")
|
("nix-mode" . "719feb7868fb567ecfe5578f6119892c771ac5e5")
|
||||||
("no-littering" . "bbcbdcdce968a0ac7c293314e1aa7dfdda63a30c")
|
("no-littering" . "8b07314d2f0594ff22bf798d9a5f5bf44b4dd4cd")
|
||||||
("nongnu-elpa" . "4b8b3633c7e29412c89f1c9d6ad7a951772be758")
|
("nongnu-elpa" . "a9a649210a8d8b9295b5a1d0c7b60a77db03c14c")
|
||||||
("org" . "233a0ced97366090c31ef94562879bb2f729b120")
|
|
||||||
("org-bullets" . "767f55feb58b840a5a04eabfc3fbbf0d257c4792")
|
("org-bullets" . "767f55feb58b840a5a04eabfc3fbbf0d257c4792")
|
||||||
("org-ml" . "f57336a9126a168ad32ccce017c072474555395a")
|
("org-ml" . "f57336a9126a168ad32ccce017c072474555395a")
|
||||||
("org-ref" . "732a20bd236fd02db4a651da29f87f87f458a54a")
|
("org-ref" . "fd178abf12a85f8e12005d1df683564bdc534124")
|
||||||
("org-sql" . "3dbf11d692cf0d5e64235ad4041ed0b5a6775064")
|
("org-sql" . "43376abf46b897a9a862cfcc1c087f4b8688634c")
|
||||||
("org-super-agenda" . "c07e35416ce749b42cbb70ff8d4e814362111bb5")
|
("org-super-agenda" . "05a710065af5ee4b3982f9619f864f7af12ca1d3")
|
||||||
("origami.el" . "e558710a975e8511b9386edc81cd6bdd0a5bda74")
|
("origami.el" . "e558710a975e8511b9386edc81cd6bdd0a5bda74")
|
||||||
("outline-magic" . "2a5f07417b696cf7541d435c43bafcc64817636b")
|
("outline-magic" . "2a5f07417b696cf7541d435c43bafcc64817636b")
|
||||||
("ox-pandoc" . "34e6ea97b586e20529d07158a73af3cf33cdd1d5")
|
("ox-pandoc" . "34e6ea97b586e20529d07158a73af3cf33cdd1d5")
|
||||||
("package-lint" . "d2846f0c57931195946d771a900906e1a16d394e")
|
("package-lint" . "972dd8403ac8d2d43f298ef89a6b118e49c7355f")
|
||||||
("paredit" . "037b9b8acbca75151f133b6c0f7f3ff97d9042e5")
|
("paredit" . "037b9b8acbca75151f133b6c0f7f3ff97d9042e5")
|
||||||
("parsebib" . "05fff935749e6ca29ec81fdf0163e95ad2aa6bc3")
|
("parsebib" . "ace9df707108b17759c004c7387655277122d4c1")
|
||||||
("password-store" . "b5e965a838bb68c1227caa2cdd874ba496f10149")
|
("password-store" . "b5e965a838bb68c1227caa2cdd874ba496f10149")
|
||||||
("pcre2el" . "b4d846d80dddb313042131cf2b8fbf647567e000")
|
("pcre2el" . "b4d846d80dddb313042131cf2b8fbf647567e000")
|
||||||
("pdf-tools" . "30b50544e55b8dbf683c2d932d5c33ac73323a16")
|
("pdf-tools" . "30b50544e55b8dbf683c2d932d5c33ac73323a16")
|
||||||
("php-mode" . "31f702ee2de35d514fb633c0c37531cb648bff70")
|
("php-mode" . "59814bd80c59894022bc5950fb3bdf02420e8a89")
|
||||||
("pkgbuild-mode" . "8c31b24e5979fddf2411456c8957f41f06ae5714")
|
("pkgbuild-mode" . "8ef396d8fa9187b65c065a6bc2ca15dfaf3255df")
|
||||||
("poly-R" . "8024e852cfca642dea2045a41b2033baa2f1f9a5")
|
("poly-R" . "8024e852cfca642dea2045a41b2033baa2f1f9a5")
|
||||||
("poly-markdown" . "98695eb7ca4ca11dcec71a1cab64903bbf79b4d3")
|
("poly-markdown" . "98695eb7ca4ca11dcec71a1cab64903bbf79b4d3")
|
||||||
("poly-noweb" . "3b0cd36ca9a707e8a09337a3468fa85d81fc461c")
|
("poly-noweb" . "3b0cd36ca9a707e8a09337a3468fa85d81fc461c")
|
||||||
("polymode" . "ca060e081a1f849a880732670dc15370ac987b89")
|
("polymode" . "ca060e081a1f849a880732670dc15370ac987b89")
|
||||||
("popup-el" . "c83d6e5f5fa693e08a542ea9ad7c06eced652de9")
|
("popup-el" . "c83d6e5f5fa693e08a542ea9ad7c06eced652de9")
|
||||||
("powerline" . "c35c35bdf5ce2d992882c1f06f0f078058870d4a")
|
("powerline" . "c35c35bdf5ce2d992882c1f06f0f078058870d4a")
|
||||||
("projectile" . "9b466af28bac6d61fd0e717f1a4b0fcd2f18f37f")
|
("projectile" . "01fb6a5ef023bcfc52b209586dcb4fd13db00218")
|
||||||
("pythonic" . "c1e5643e044f1faaf6ecfadc719b981c048aeb79")
|
("pythonic" . "c1e5643e044f1faaf6ecfadc719b981c048aeb79")
|
||||||
("pyvenv" . "31ea715f2164dd611e7fc77b26390ef3ca93509b")
|
("pyvenv" . "31ea715f2164dd611e7fc77b26390ef3ca93509b")
|
||||||
("queue" . "8df1334d54d4735d2f821790422a850dfaaa08ef")
|
("queue" . "8df1334d54d4735d2f821790422a850dfaaa08ef")
|
||||||
|
@ -120,19 +118,19 @@
|
||||||
("seq" . "da86da9bf111f68fb81efd466d76d53af5aebc00")
|
("seq" . "da86da9bf111f68fb81efd466d76d53af5aebc00")
|
||||||
("snakemake-mode" . "4ad41da69e4b95b38a3d3273874c44caab20cc56")
|
("snakemake-mode" . "4ad41da69e4b95b38a3d3273874c44caab20cc56")
|
||||||
("spaceline" . "086420d16e526c79b67fc1edec4c2ae1e699f372")
|
("spaceline" . "086420d16e526c79b67fc1edec4c2ae1e699f372")
|
||||||
("spacemacs-theme" . "6c74684c4d55713c8359bedf1936e429918a8c33")
|
("spacemacs-theme" . "d02edec79404e807445b62d0d2fc1a6fbcc10c71")
|
||||||
("straight.el" . "88e574ae75344e39b436f863ef0344135c7b6517")
|
("straight.el" . "88e574ae75344e39b436f863ef0344135c7b6517")
|
||||||
("string-inflection" . "617df25e91351feffe6aff4d9e4724733449d608")
|
("string-inflection" . "617df25e91351feffe6aff4d9e4724733449d608")
|
||||||
("sudo-edit" . "74eb1e6986461baed9a9269566ff838530b4379b")
|
("sudo-edit" . "74eb1e6986461baed9a9269566ff838530b4379b")
|
||||||
("swiper" . "8dc02d5b725f78d1f80904807b46f5406f129674")
|
("swiper" . "2a25a6fb5b081cb141c5eccac8ee58ab1feeb747")
|
||||||
("tablist" . "fcd37147121fabdf003a70279cf86fbe08cfac6f")
|
("tablist" . "fcd37147121fabdf003a70279cf86fbe08cfac6f")
|
||||||
("toc-org" . "6d3ae0fc47ce79b1ea06cabe21a3c596395409cd")
|
("toc-org" . "6d3ae0fc47ce79b1ea06cabe21a3c596395409cd")
|
||||||
("transient" . "d6b52b6eb7655d538b410ae60f85fbaa4d58a608")
|
("transient" . "3d3f8711d4f6a6ff7f53bc22e465ec82587c62ed")
|
||||||
("ts.el" . "552936017cfdec89f7fc20c254ae6b37c3f22c5b")
|
("ts.el" . "552936017cfdec89f7fc20c254ae6b37c3f22c5b")
|
||||||
("use-package" . "a6e856418d2ebd053b34e0ab2fda328abeba731c")
|
("use-package" . "a6e856418d2ebd053b34e0ab2fda328abeba731c")
|
||||||
("with-editor" . "77cb2403158cfea9d8bfb8adad81b84d1d6d7c6a")
|
("with-editor" . "8c550d9e799a0baedb2164471e7ed19fc15d9196")
|
||||||
("xterm-color" . "2ad407c651e90fff2ea85d17bf074cee2c022912")
|
("xterm-color" . "2ad407c651e90fff2ea85d17bf074cee2c022912")
|
||||||
("yaml-mode" . "d91f878729312a6beed77e6637c60497c5786efa")
|
("yaml-mode" . "7b5ce294fb15c2c8926fa476d7218aa415550a2a")
|
||||||
("yasnippet" . "fe1f4e0e96ce42d8668920335eb22c3c009dab3e")
|
("yasnippet" . "eb5ba2664c3a68ae4a53bb38b85418dd131b208f")
|
||||||
("zoutline" . "32857c6c4b9b0bcbed14d825a10b91a98d5fed0a"))
|
("zoutline" . "32857c6c4b9b0bcbed14d825a10b91a98d5fed0a"))
|
||||||
:gamma
|
:gamma
|
||||||
|
|
Loading…
Reference in New Issue