From 69590e570a19022d43199093f2bf93841d60a2cf Mon Sep 17 00:00:00 2001 From: Gerard Vermeulen Date: Fri, 6 Jan 2023 20:45:02 +0100 Subject: [PATCH] Reduce the number of initial `package-selected-packages' --- README.org | 46 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/README.org b/README.org index fe2504d..ce12f61 100644 --- a/README.org +++ b/README.org @@ -284,15 +284,11 @@ The [[info:emacs#Init File][init file (info)]] does not load the ~custom-file~ a '(package-selected-packages `,(delq nil `(async ; asynchroneous processing auctex ; Aalborg University Center TeX - company ; complete anything debbugs ; access the GNU bug tracker - engrave-faces ; convert font-lock to ANSI/HTML/LaTeX - magit ; Git Text-based User Interface no-littering ; keep `user-emacs-directory' clean org ; thought organizer ,(when (version< emacs-version "28.9.9") 'python) ; major mode to edit Python files - vertico ; VERTical Interactive Completion wgrep ; open a writable grep buffer xr)))) ; undo rx to grok regular expressions #+end_src @@ -1282,6 +1278,21 @@ steps below. Finally, [[https://company-mode.github.io/][company: a modular complete-anything framework for Emacs]] provides completion in any buffer. +** [[info:company#Top][Company (info)]] +:PROPERTIES: +:CUSTOM_ID: sec:company +:END: + +[[info:company#Top][Company (info)]] is a modular completion framework and the the snippet [[lst:ensure-company-installation][below]] +ensures its installation. + +#+caption[Ensure =company= installation]: +#+caption: Ensure =company= installation. +#+name: lst:ensure-company-installation +#+begin_src emacs-lisp +(ensure-package-installation 'company) +#+end_src + ** [[info:vertico#Top][Vertico (info)]] :PROPERTIES: :CUSTOM_ID: sec:vertico-configuration @@ -1306,7 +1317,8 @@ file. regexp-search-string search-ring search-string)))) -(when (fboundp 'vertico-mode) +(when (and (ensure-package-installation 'vertico) + (fboundp 'vertico-mode)) (vertico-mode +1)) (with-eval-after-load 'vertico (define-key vertico-map (kbd "RET") #'vertico-directory-enter) @@ -1736,6 +1748,21 @@ git -C ~/VCS/engrave-faces-fork branch -a : remotes/origin/latex-engrave-symbolic-color-names : remotes/origin/master +*** [[info:magit#Top][Magit (info)]] +:PROPERTIES: +:CUSTOM_ID: sec:magit +:END: + +[[info:magit#Top][Magit (info)]] is an Emacs interface to the version control system [[https://git-scm.com/book/en/v2][Git]] and the +snippet [[lst:ensure-magit-installation][below]] ensures its installation. + +#+caption[Ensure =Magit= installation]: +#+caption: Ensure =Magit= installation +#+name: lst:ensure-magit-installation +#+begin_src emacs-lisp +(ensure-package-installation 'magit) +#+end_src + * Reading :PROPERTIES: :CUSTOM_ID: sec:reading @@ -2546,6 +2573,8 @@ this facility to a level acceptable for my workflow: #+caption: breakable LaTeX environments. #+name: lst:org-latex-engraved-source-block-filter #+begin_src emacs-lisp :results silent +(ensure-package-installation 'engrave-faces) + (defun org-latex-engraved-source-block-filter (data _backend _info) "Replace \"Code\" with \"Breakable\" in non-floating environments. @@ -2626,8 +2655,7 @@ environments and non-floating breakable LaTeX environments by means of #+caption: Fix engraving of symbolic colors names in =engrave-faces-latex=. #+name: lst:ensure-engrave-faces-with-latex-face-apply-fix #+begin_src emacs-lisp :tangle no -(when (and (ensure-package-installation 'engrave-faces) - (require 'engrave-faces-latex nil t)) +(when (require 'engrave-faces-latex nil t) (defun engrave-faces-latex--color (color) "Convert COLOR loosely to a string of six hexadecimal digits." (if (char-equal ?# (aref color 0)) @@ -2661,9 +2689,7 @@ environments and non-floating breakable LaTeX environments by means of #+caption: Fix engraving of symbolic colors names in =engrave-faces=. #+name: lst:ensure-engrave-faces-with-attribute-values-fix #+begin_src emacs-lisp -(when (and (ensure-package-installation 'engrave-faces) - (require 'engrave-faces nil t)) - +(when (require 'engrave-faces nil t) (defun engrave-faces-attribute-values-around (efav-fun &rest args) (let ((values (apply efav-fun args)) (attribute (cadr args)))