diff options
author | bd <bdunahu@operationnull.com> | 2025-03-03 23:32:21 -0500 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-03-03 23:32:21 -0500 |
commit | 42de6d457f9c47b76e26a53055d0dfe026f94bd6 (patch) | |
tree | 1a6d3c873e7e97b39025cac4efbcabc4889f9e63 /.config/emacs/modules/bd--devel.el | |
parent | 606b02f3c659fc00470beb3c526e646a38ecf55d (diff) |
Selector functions for displaying a directory of web documentation
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) |