diff options
Diffstat (limited to '.config/emacs/modules/bd--devel.el')
-rw-r--r-- | .config/emacs/modules/bd--devel.el | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/.config/emacs/modules/bd--devel.el b/.config/emacs/modules/bd--devel.el index d023223..e846a93 100644 --- a/.config/emacs/modules/bd--devel.el +++ b/.config/emacs/modules/bd--devel.el @@ -116,6 +116,33 @@ (require 'geiser-mode) (require 'geiser-guile) +(defcustom doc-dirs '() + "Defines a buffer-local list of directories to find +documentation." + :type 'list + :group 'docs + :safe 'listp + :local t) + +(defun bd/selector-doc (dir) + "List all HTML files in a directory (recursive), and +display for opening with browser." + (selector-source-create + dir + :candidates + (-map + (lambda (d) (selector-candidate-create (file-relative-name d dir) :value d)) + (directory-files-recursively dir ".html")) + :actions + (list (lambda (x) (eww-open-file x))))) + +(defun bd/doc-finder () + (interactive) + (unwind-protect + (selector + (append (-map (lambda (x) (bd/selector-doc x)) doc-dirs) + (list (bd/selector-search)))))) + (use-package eglot :defer t :hook ((c-mode . eglot-ensure) |