pkg update and first config fix

org-brain not working, add org-roam
This commit is contained in:
2022-12-19 23:02:34 +01:00
parent 02b3e07185
commit 82f05baffe
885 changed files with 356098 additions and 36993 deletions

View File

@@ -4,9 +4,9 @@
;; org-fragtog Copyright (C) 2020 Benjamin Levy - MIT/X11 License
;; org-appear Copyright (C) 2021 Alice Istleyeva - MIT License
;; Author: Alice Istleyeva <awth13@gmail.com>
;; Version: 0.2.4
;; Package-Version: 20211202.604
;; Package-Commit: a4d10fc346ba14f487eb7aa95761b9295089ba55
;; Version: 0.3.0
;; Package-Version: 20220617.2355
;; Package-Commit: 60ba267c5da336e75e603f8c7ab3f44e6f4e4dac
;; Description: Toggle Org mode element visibility upon entering and leaving
;; Homepage: https://github.com/awth13/org-appear
;; Package-Requires: ((emacs "25.1") (org "9.3"))
@@ -48,6 +48,18 @@
"Auto-toggle Org elements."
:group 'org)
(defcustom org-appear-trigger 'always
"Method of triggering element toggling.
`always' means that elements are toggled every time they are under the cursor.
`on-change' means that elements are toggled only when the buffer is modified
or when the element under the cursor is clicked with a mouse.
`manual' means that toggling starts on call to `org-appear-manual-start'
and stops on call to `org-appear-manual-stop'."
:type '(choice (const :tag "Always" always)
(const :tag "Only on change" on-change)
(const :tag "Manual" manual))
:group 'org-appear)
(defcustom org-appear-autoemphasis t
"Non-nil enables automatic toggling of emphasised and verbatim markers.
Does not have an effect if `org-hide-emphasis-markers' is nil."
@@ -68,8 +80,12 @@ Does not have an effect if `org-pretty-entities' is nil."
(defcustom org-appear-autolinks nil
"Non-nil enables automatic toggling of links.
Does not have an effect if `org-link-descriptive' is nil."
:type 'boolean
If set to the symbol `just-brackets', links will be shown with
brackets around them without showing the link target. Does not
have an effect if `org-link-descriptive' is nil."
:type '(choice (const :tag "Ignore links" nil)
(const :tag "Toggle full link" t)
(const :tag "Toggle brackets" just-brackets))
:group 'org-appear)
(defcustom org-appear-autokeywords nil
@@ -78,11 +94,24 @@ Does not have an effect if `org-hidden-keywords' is nil."
:type 'boolean
:group 'org-appear)
(defcustom org-appear-inside-latex nil
"Also applies toggling inside Latex fragments and environments.
Sub- and superscript markers are toggled if `org-appear-autosubmarkers' is
non-nil. Entities are toggled if `org-appear-autoentities' is non-nil."
:type 'boolean
:group 'org-appear)
(defcustom org-appear-delay 0.0
"Seconds of delay before toggling an element."
:type 'number
:group 'org-appear)
(defcustom org-appear-manual-linger nil
"Whether to hide the element on manual stop.
If true, hide upon navigating away."
:type 'boolean
:group 'org-appear)
(defvar-local org-appear--timer nil
"Current active timer.")
@@ -97,7 +126,10 @@ Does not have an effect if `org-hidden-keywords' is nil."
(org-appear-mode
(org-appear--set-elements)
(add-hook 'post-command-hook #'org-appear--post-cmd nil t)
(add-hook 'pre-command-hook #'org-appear--pre-cmd nil t))
(add-hook 'pre-command-hook #'org-appear--pre-cmd nil t)
(when (eq org-appear-trigger 'on-change)
(add-hook 'mouse-leave-buffer-hook #'org-appear--after-change nil t)
(add-hook 'after-change-functions #'org-appear--after-change nil t)))
(t
;; Clean up current element when disabling the mode
(when-let ((current-elem (org-appear--current-elem)))
@@ -106,7 +138,10 @@ Does not have an effect if `org-hidden-keywords' is nil."
(cancel-timer org-appear--timer)
(setq org-appear--timer nil)))
(remove-hook 'post-command-hook #'org-appear--post-cmd t)
(remove-hook 'pre-command-hook #'org-appear--pre-cmd t))))
(remove-hook 'pre-command-hook #'org-appear--pre-cmd t)
(when (eq org-appear-trigger 'on-change)
(remove-hook 'mouse-leave-buffer-hook #'org-appear--after-change t)
(remove-hook 'after-change-functions #'org-appear--after-change t)))))
(defvar org-appear-elements nil
"List of Org elements to toggle.")
@@ -115,6 +150,12 @@ Does not have an effect if `org-hidden-keywords' is nil."
"Previous element that surrounded the cursor.
nil if the cursor was not on an element.")
(defvar-local org-appear--do-buffer nil
"Non-nil when `org-appear-mode' is notified to start toggling.")
(defvar-local org-appear--elem-toggled nil
"Non-nil if the last encountered element has been toggled.")
(defun org-appear--set-elements ()
"Add elements to toggle to `org-appear-elements'."
(let ((emphasis-elements '(bold
@@ -127,7 +168,8 @@ nil if the cursor was not on an element.")
superscript))
(entity-elements '(entity))
(link-elements '(link))
(keyword-elements '(keyword)))
(keyword-elements '(keyword))
(latex-elements '(latex-fragment latex-environment)))
;; HACK: is there a better way to do this?
(setq-local org-appear--prev-elem nil)
@@ -141,7 +183,9 @@ nil if the cursor was not on an element.")
(when (and org-link-descriptive org-appear-autolinks)
(setq org-appear-elements (append org-appear-elements link-elements)))
(when (and org-hidden-keywords org-appear-autokeywords)
(setq org-appear-elements (append org-appear-elements keyword-elements)))))
(setq org-appear-elements (append org-appear-elements keyword-elements)))
(when org-appear-inside-latex
(setq org-appear-elements (append org-appear-elements latex-elements)))))
(defun org-appear--post-cmd ()
"This function is executed by `post-command-hook' in `org-appear-mode'.
@@ -153,8 +197,12 @@ It handles toggling elements depending on whether the cursor entered or exited t
;; After leaving an element
(when (and prev-elem
org-appear--elem-toggled
(not (equal prev-elem-start current-elem-start)))
;; Forget element
(setq org-appear--elem-toggled nil)
;; If timer for prev-elem fired and was expired
(if (not org-appear--timer)
(save-excursion
@@ -166,10 +214,16 @@ It handles toggling elements depending on whether the cursor entered or exited t
(setq org-appear--timer nil)))
;; Inside an element
(when current-elem
(when (and current-elem (or (eq org-appear-trigger 'always)
org-appear--do-buffer
org-appear--elem-toggled))
;; Mark element as toggled to continue toggling and ignore buffer state
(setq org-appear--elem-toggled t)
;; New element, delay first unhiding
(when (and (> org-appear-delay 0)
(when (and (eq org-appear-trigger 'always)
(> org-appear-delay 0)
(not (eq prev-elem-start current-elem-start)))
(setq org-appear--timer (run-with-idle-timer org-appear-delay
nil
@@ -181,8 +235,26 @@ It handles toggling elements depending on whether the cursor entered or exited t
(when (not org-appear--timer)
(org-appear--show-with-lock current-elem)))
;; Remember current element as the last visited element
(setq org-appear--prev-elem current-elem)))
(setq org-appear--prev-elem current-elem)
(when (not (eq org-appear-trigger 'manual))
(setq org-appear--do-buffer nil))))
(defun org-appear--after-change (&rest _args)
"This function is executed by `after-change-functions' in `org-appear-mode'.
It signals that elements in the current buffer must be toggled."
(setq org-appear--do-buffer 't))
(defun org-appear-manual-start ()
"Signal that elements in the current buffer must be toggled."
(setq org-appear--do-buffer 't))
(defun org-appear-manual-stop ()
"Signal that elements in the current buffer must no longer be toggled."
(when (not org-appear-manual-linger)
(when-let ((current-elem (org-appear--current-elem)))
(org-appear--hide-invisible current-elem))
(setq org-appear--elem-toggled nil))
(setq org-appear--do-buffer nil))
(defun org-appear--pre-cmd ()
"This function is executed by `pre-command-hook' in `org-appear-mode'.
@@ -240,6 +312,8 @@ Return nil if element cannot be parsed."
'link)
((eq elem-type 'keyword)
'keyword)
((memq elem-type '(latex-fragment latex-environment))
'latex-fragment)
(t nil)))
(elem-start (org-element-property :begin elem))
(elem-end (org-element-property :end elem))
@@ -271,11 +345,28 @@ Return nil if element cannot be parsed."
(end (plist-get elem-at-point :end))
(visible-start (plist-get elem-at-point :visible-start))
(visible-end (plist-get elem-at-point :visible-end)))
(when (and (eq org-appear-autolinks 'just-brackets)
(eq elem-type 'link))
(setq start (1- visible-start))
(setq end (1+ visible-end)))
(with-silent-modifications
(cond ((eq elem-type 'entity)
(decompose-region start end))
((memq elem-type '(latex-fragment latex-environment))
(when org-appear-autosubmarkers
(remove-text-properties start end '(invisible)))
(when org-appear-autoentities
(decompose-region start end)))
((eq elem-type 'keyword)
(remove-text-properties start end '(invisible org-link)))
((and (featurep 'org-fold)
(eq elem-type 'link))
(remove-text-properties start
visible-start
(list (org-fold-core--property-symbol-get-create 'org-link) nil))
(remove-text-properties visible-end
end
(list (org-fold-core--property-symbol-get-create 'org-link) nil)))
(t
(remove-text-properties start visible-start '(invisible org-link))
(remove-text-properties visible-end end '(invisible org-link)))))))
@@ -305,15 +396,30 @@ When RENEW is non-nil, obtain element at point instead."
(visible-start (plist-get elem-at-point :visible-start))
(visible-end (plist-get elem-at-point :visible-end)))
(when elem-at-point
(when (and (eq org-appear-autolinks 'just-brackets)
(eq elem-type 'link))
(setq start (1- visible-start))
(setq end (1+ visible-end)))
(with-silent-modifications
(cond ((eq elem-type 'entity)
(compose-region start end (org-element-property :utf-8 elem)))
((eq elem-type 'keyword)
(compose-region start end (org-element-property :utf-8 elem))
(font-lock-flush start end))
((memq elem-type '(keyword latex-fragment latex-environment))
(font-lock-flush start end))
((and (featurep 'org-fold)
(eq elem-type 'link))
(put-text-property start
visible-start
(org-fold-core--property-symbol-get-create 'org-link)
'org-link)
(put-text-property visible-end
end
(org-fold-core--property-symbol-get-create 'org-link)
'org-link))
(t
(put-text-property start visible-start 'invisible 'org-link)
(put-text-property visible-end end 'invisible 'org-link))))
;; (font-lock-flush start end)
(put-text-property visible-end end 'invisible 'org-link)
(font-lock-flush start end))))
;; Call `font-lock-ensure' after flushing to prevent `jit-lock-mode'
;; from refontifying the next element entered
(font-lock-ensure start end))))