From ef9602052894e97f8bd8abba7306169caf5c5ee8 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Wed, 13 Aug 2025 12:00:44 -0500 Subject: splitting help into config (internal) and utils (added packages) --- init.el | 50 +++++++++++++++++++++------------------ modules/help-config.el | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++ modules/help-utils.el | 55 +------------------------------------------ 3 files changed, 91 insertions(+), 77 deletions(-) create mode 100644 modules/help-config.el diff --git a/init.el b/init.el index 815112e7d..eaaed8532 100644 --- a/init.el +++ b/init.el @@ -23,16 +23,16 @@ (add-to-list 'load-path (concat user-emacs-directory "custom/")) (add-to-list 'load-path (concat user-emacs-directory "modules/")) -(require 'user-constants) +(require 'user-constants) ;; named paths for locating files (require 'host-environment) ;; convenience functions re: host environment (require 'config-utilities) ;; functions useful when modifying Emacs config -(require 'system-defaults) -(require 'keybindings) +(require 'system-defaults) ;; native comp; log; unicode, backup, exec path +(require 'keybindings) ;; system-wide keybindings ;; -------------------------- Utilities And Libraries -------------------------- (require 'custom-functions) ;; custom function library w/ keybindings -(require 'system-utils) +(require 'system-utils) ;; external file handlers, timers, process monitor (require 'epa-config) ;; emacs gnupg integration (require 'text-config) ;; text settings and functionality @@ -42,34 +42,38 @@ (require 'ui-theme) (require 'ui-navigation) (require 'font-config) -(require 'selection-framework) -;; ------------------------------- Functionality ------------------------------- - -(require 'ai-config) -(require 'calibredb-epub-config) -(require 'dashboard-config) -(require 'diff-config) -(require 'dirvish-config) +;; --------------------------- Internal Functionality -------------------------- + +(require 'diff-config) ;; ediff and ztree configuration +(require 'eshell-vterm-config) ;; shell and terminal configuration +(require 'flyspell-config) ;; spell check configuration +(require 'graphviz-config) ;; merge with latex module? +(require 'help-utils) ;; search: arch-wiki, devdoc, tldr, wikipedia +(require 'help-config) ;; info, man, help config +(require 'latex-config) ;; need to fix +(require 'modeline-config) ;; modeline (status-bar) config +(require 'pdf-config) ;; pdf display settings +(require 'selection-framework) ;; menu config +(require 'tramp-config) ;; remote shell connections +(require 'show-kill-ring) ;; utility to display history of kill ring + +;; ------------------------- Features And Integrations ------------------------- + +(require 'ai-config) ;; LLM integration +(require 'calibredb-epub-config) ;; ebook reader/manager settings +(require 'dashboard-config) ;; first page on launch +(require 'dirvish-config) ;; file manager configuration (require 'elfeed-config) (require 'erc-config) -(require 'eshell-vterm-config) (require 'eww-config) -(require 'flyspell-config) -(require 'graphviz-config) ;; merge with latex module? -(require 'help-utils) (require 'httpd-config) -(require 'latex-config) ;; need to fix -(require 'ledger-config) +;; (require 'ledger-config) ;; consider removing as you're not using this (require 'local-repository) ;; wip (require 'mail-config) (require 'markdown-config) -(require 'modeline-config) -(require 'pdf-config) (require 'record-desktop) -(require 'show-kill-ring) -(require 'tramp-config) -(require 'weather-config) +(require 'weather-config) ;; utility to display the weather ;; -------------------------------- Programming -------------------------------- diff --git a/modules/help-config.el b/modules/help-config.el new file mode 100644 index 000000000..2dde38b28 --- /dev/null +++ b/modules/help-config.el @@ -0,0 +1,63 @@ +;;; help-config --- Help Functionality Configuration -*- lexical-binding: t; -*- +;; author Craig Jennings + +;;; Commentary: + +;;; Code: + + +(setq help-window-select t) ;; Always select the help buffer in a separate window + +(global-set-key (kbd "C-h P") 'list-packages) ;; bring up the package menu + +;; ---------------------------------- Helpful ---------------------------------- + +(use-package helpful + :defer .5 + :bind + ("C-h f" . helpful-callable) + ("C-h v" . helpful-variable) + ("C-h k" . helpful-key) + ("C-h F" . helpful-function) + ("C-h C" . helpful-command) + ("C-h ." . helpful-at-point) + ("C-h o" . helpful-symbol) ;; overrides 'describe-symbol' keybinding + :config + (setq counsel-describe-function-function #'helpful-callable) + (setq counsel-describe-variable-function #'helpful-variable)) + + +;; ------------------------------------ Man ------------------------------------ + +(use-package man + :defer 1 + :ensure nil ;; built-in + :bind ("C-h M" . man)) + + +;; ------------------------------------ Info ----------------------------------- + +(use-package info + :defer 1 + :ensure nil ;; built-in + :bind + (:map Info-mode-map + ("m" . bookmark-set) ;; note:overrides menu selection + ("M" . Info-menu)) ;; so menu selection goes here + :preface + (defun open-with-info-mode () + (interactive) + (let ((file-name (buffer-file-name))) + (kill-buffer (current-buffer)) + (info file-name))) + :hook + (info-mode . info-persist-history-mode) + :init + ;; add personal info files in emacs config assets directory + ;; BUG: This causes an error on launch + (push (concat user-emacs-directory "assets/info") Info-directory-list) + (add-to-list 'auto-mode-alist '("\\.info\\'" . open-with-info-mode))) + + +(provide 'help-config) +;;; help-utils.el ends here diff --git a/modules/help-utils.el b/modules/help-utils.el index ab9f28559..73fc2add7 100644 --- a/modules/help-utils.el +++ b/modules/help-utils.el @@ -1,63 +1,10 @@ -;;; help-utils --- Help Additions and Preferences -*- lexical-binding: t; -*- +;;; help-utils --- Help Integrations and Searches -*- lexical-binding: t; -*- ;; author Craig Jennings ;;; Commentary: ;;; Code: - -(setq help-window-select t) ;; Always select the help buffer in a separate window - -(global-set-key (kbd "C-h P") 'list-packages) ;; bring up the package menu - -;; ---------------------------------- Helpful ---------------------------------- - -(use-package helpful - :defer .5 - :bind - ("C-h f" . helpful-callable) - ("C-h v" . helpful-variable) - ("C-h k" . helpful-key) - ("C-h F" . helpful-function) - ("C-h C" . helpful-command) - ("C-h ." . helpful-at-point) - ("C-h o" . helpful-symbol) ;; overrides 'describe-symbol' keybinding - :config - (setq counsel-describe-function-function #'helpful-callable) - (setq counsel-describe-variable-function #'helpful-variable)) - - -;; ------------------------------------ Man ------------------------------------ - -(use-package man - :defer 1 - :ensure nil ;; built-in - :bind ("C-h M" . man)) - - -;; ------------------------------------ Info ----------------------------------- - -(use-package info - :defer 1 - :ensure nil ;; built-in - :bind - (:map Info-mode-map - ("m" . bookmark-set) ;; note:overrides menu selection - ("M" . Info-menu)) ;; so menu selection goes here - :preface - (defun open-with-info-mode () - (interactive) - (let ((file-name (buffer-file-name))) - (kill-buffer (current-buffer)) - (info file-name))) - :hook - (info-mode . info-persist-history-mode) - :init - ;; add personal info files in emacs config assets directory - ;; BUG: This causes an error on launch - (push (concat user-emacs-directory "assets/info") Info-directory-list) - (add-to-list 'auto-mode-alist '("\\.info\\'" . open-with-info-mode))) - ;; ---------------------------------- Devdocs ---------------------------------- (use-package devdocs -- cgit v1.2.3