Skip to content

Commit

Permalink
(feat): disable unnecessary org-mode startup for temp buffers (org-ro…
Browse files Browse the repository at this point in the history
…am#1057)

Set `org-inhibit-startup` to `t` to reduce the amount of time taken to set up org-mode buffers. For example, this disables latex image generation, and table alignment.

Also introduces `org-roam-doctor-inhibit-startup`, which speeds up `org-roam-doctor` runs.
  • Loading branch information
TimQuelch authored Aug 27, 2020
1 parent b8b180d commit 6f0a38e
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 3 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ In this release we support fuzzy links of the form `[[Title]]`, `[[*Headline]]`

### Bugfixes

- [#1057](https://github.com/org-roam/org-roam/pull/1057) Improve performance of database builds by preventing generation of LaTeX and image previews.

## 1.2.1 (27-07-2020)

This release consisted of a big deal of refactoring and bug fixes. Notably, we fixed several catastrophic failures on db builds with bad setups (#854), and modularized tag and title extractions.
Expand Down
2 changes: 1 addition & 1 deletion doc/AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,4 @@ Contributors
- Rafael Accácio Nogueira <[email protected]>
- Roland Coeurjoly <[email protected]>
- Sayan <[email protected]>
- Tim Quelch <tim@quelch.name>
- Tim Quelch <tim@tquelch.com>
12 changes: 11 additions & 1 deletion org-roam-doctor.el
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,15 @@
(defvar org-roam-verbose)
(defvar org-roam-mode)

(defcustom org-roam-doctor-inhibit-startup t
"Inhibit `org-mode' startup when processing files with `org-doctor'.
When non-nil, images and LaTeX preview will not be generated,
tables will not be aligned, and headlines will not respect
startup visability. This significantly improves performance when
processing multiple files"
:type 'boolean
:group 'org-roam)

(cl-defstruct (org-roam-doctor-checker (:copier nil))
(name 'missing-checker-name)
(description "")
Expand Down Expand Up @@ -294,7 +303,8 @@ If CHECKALL, run the check for all Org-roam files."
(defun org-roam-doctor-start (files checkers)
"Lint FILES using CHECKERS."
(save-window-excursion
(let ((existing-buffers (org-roam--get-roam-buffers)))
(let ((existing-buffers (org-roam--get-roam-buffers))
(org-inhibit-startup org-roam-doctor-inhibit-startup))
(dolist (f files)
(let ((buf (find-file-noselect f)))
(org-roam-doctor--check buf checkers)
Expand Down
3 changes: 2 additions & 1 deletion org-roam-macs.el
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ If FILE, set `org-roam-temp-file-name' to file and insert its contents."
`(let ((,current-org-roam-directory org-roam-directory))
(with-temp-buffer
(let ((org-roam-directory ,current-org-roam-directory)
(org-mode-hook nil))
(org-mode-hook nil)
(org-inhibit-startup t))
(org-mode)
(when ,file
(insert-file-contents ,file)
Expand Down

0 comments on commit 6f0a38e

Please sign in to comment.