Refactor org-roam--setup-buffer (#388)

Change function name org-roam--setup-buffer org-roam--set-up-buffer.
Warn user and default to 'right when org-roam-buffer-position is
an invalid position.

Make better use of pcase to avoid repeating code.
This commit is contained in:
N V
2020-04-01 01:16:09 -04:00
committed by GitHub
parent 48ccb084f0
commit dfb8449680

View File

@@ -694,18 +694,26 @@ Valid states are 'visible, 'exists and 'none."
((< (window-height) h) ((< (window-height) h)
(enlarge-window (- h (window-height)))))))) (enlarge-window (- h (window-height))))))))
(defun org-roam--setup-buffer () (defun org-roam--set-up-buffer ()
"Setup the `org-roam' buffer at the `org-roam-buffer-position'." "Set up the `org-roam' buffer at the `org-roam-buffer-position'."
(let ((window (get-buffer-window))) (let ((window (get-buffer-window))
(position
(if (member org-roam-buffer-position '(right left top bottom))
org-roam-buffer-position
(let ((text-quoting-style 'grave))
(lwarn '(org-roam) :error
"Invalid org-roam-buffer-position: %s. Defaulting to \\='right"
org-roam-buffer-position))
'right)))
(-> (get-buffer-create org-roam-buffer) (-> (get-buffer-create org-roam-buffer)
(display-buffer-in-side-window (display-buffer-in-side-window
`((side . ,org-roam-buffer-position))) `((side . ,position)))
(select-window)) (select-window))
(pcase org-roam-buffer-position (pcase position
('right (org-roam--set-width (round (* (frame-width) org-roam-buffer-width)))) ((or 'right 'left)
('left (org-roam--set-width (round (* (frame-width) org-roam-buffer-width)))) (org-roam--set-width (round (* (frame-width) org-roam-buffer-width))))
('top (org-roam--set-height (round (* (frame-height) org-roam-buffer-height)))) ((or 'top 'bottom)
('bottom (org-roam--set-height (round (* (frame-height) org-roam-buffer-height))))) (org-roam--set-height (round (* (frame-height) org-roam-buffer-height)))))
(select-window window))) (select-window window)))
(defun org-roam () (defun org-roam ()
@@ -714,8 +722,8 @@ Valid states are 'visible, 'exists and 'none."
(setq org-roam-last-window (get-buffer-window)) (setq org-roam-last-window (get-buffer-window))
(pcase (org-roam--current-visibility) (pcase (org-roam--current-visibility)
('visible (delete-window (get-buffer-window org-roam-buffer))) ('visible (delete-window (get-buffer-window org-roam-buffer)))
('exists (org-roam--setup-buffer)) ('exists (org-roam--set-up-buffer))
('none (org-roam--setup-buffer)))) ('none (org-roam--set-up-buffer))))
;;; The global minor org-roam-mode ;;; The global minor org-roam-mode
(defvar org-roam-mode-map (defvar org-roam-mode-map