From 9727ed49493517141d8a9ab9e1e51d97c08bb1bd Mon Sep 17 00:00:00 2001 From: kj Date: Thu, 7 Aug 2025 23:07:48 -0300 Subject: [PATCH] Improve devdocs config and re-enable it. --- configs/init-prog.el | 72 +++++++++++++++----------------------------- 1 file changed, 24 insertions(+), 48 deletions(-) diff --git a/configs/init-prog.el b/configs/init-prog.el index cc5ffc3..dad8fda 100644 --- a/configs/init-prog.el +++ b/configs/init-prog.el @@ -96,55 +96,31 @@ (sit-for 0.75))))) ;; Browse devdocs.io documents using EWW -;; (use-package devdocs -;; :autoload (devdocs--installed-docs devdocs--available-docs) -;; :commands (devdocs-install devdocs-lookup) -;; :bind (:map prog-mode-map -;; ("M-" . devdocs-dwim)) -;; :init -;; (defconst devdocs-major-mode-docs-alist -;; '((c-mode . ("c")) -;; (c++-mode . ("cpp")) -;; (python-mode . ("python~3.10" "python~2.7")) -;; (ruby-mode . ("ruby~3.1")) -;; (rustic-mode . ("rust")) -;; (css-mode . ("css")) -;; (html-mode . ("html")) -;; (julia-mode . ("julia~1.8")) -;; (js-mode . ("javascript" "jquery")) -;; (emacs-lisp-mode . ("elisp"))) -;; "Alist of major-mode and docs.") +(use-package devdocs + :autoload (devdocs--installed-docs devdocs--available-docs) + :commands (devdocs-install devdocs-lookup) + :bind (:map prog-mode-map + ("M-" . devdocs-dwim)) + :init + (setq devdocs-data-dir (expand-file-name "devdocs" user-emacs-directory)) + (defun devdocs-dwim() + "Look up a DevDocs documentation entry. +Install the doc if it's not installed." + (interactive) + ;; Install the doc if it's not installed + (lambda (slug) + (unless (member slug (let ((default-directory devdocs-data-dir)) + (seq-filter #'file-directory-p + (when (file-directory-p devdocs-data-dir) + (directory-files "." nil "^[^.]"))))) + (mapc + (lambda (doc) + (when (string= (alist-get 'slug doc) slug) + (devdocs-install doc))) + (devdocs--available-docs)))) -;; (mapc -;; (lambda (mode) -;; (add-hook (intern (format "%s-hook" (car mode))) -;; (lambda () -;; (setq-local devdocs-current-docs (cdr mode))))) -;; devdocs-major-mode-docs-alist) - -;; (setq devdocs-data-dir (expand-file-name "devdocs" user-emacs-directory)) - -;; (defun devdocs-dwim() -;; "Look up a DevDocs documentation entry. - -;; Install the doc if it's not installed." -;; (interactive) -;; ;; Install the doc if it's not installed -;; (mapc -;; (lambda (slug) -;; (unless (member slug (let ((default-directory devdocs-data-dir)) -;; (seq-filter #'file-directory-p -;; (when (file-directory-p devdocs-data-dir) -;; (directory-files "." nil "^[^.]"))))) -;; (mapc -;; (lambda (doc) -;; (when (string= (alist-get 'slug doc) slug) -;; (devdocs-install doc))) -;; (devdocs--available-docs)))) -;; (alist-get major-mode devdocs-major-mode-docs-alist)) - -;; ;; Lookup the symbol at point -;; (devdocs-lookup nil (thing-at-point 'symbol t)))) + ;; Lookup the symbol at point + (devdocs-lookup nil (thing-at-point 'symbol t)))) ;; --------------------------------------------------------------------------- ;; Miscellaneous Programming Modes