Closed Ypot closed 2 years ago
Because it is possible that the user copies that configuration from the elisp code into the init file, and when she tries to customize logos using the customization menu (maybe months later), the changes in the customization menu are "crushed" by the previously pasted elisp code.
This is a user problem though: they have to know what goes into their configuration. Copy-pasting and then forgetting about it is a problem that always exists. But we shouldn't design documentation around that behaviour as it forces us to make awkward compromises.
The changes you suggest would make everything more verbose and would punish users who are okay with managing Elisp code.
Also this part of the sample configuration contains valuable regular expressions that would be more difficult to describe without the code:
;; If you want to use outlines instead of page breaks (the ^L)
(setq logos-outlines-are-pages t)
(setq logos-outline-regexp-alist
`((emacs-lisp-mode . "^;;;+ ")
(org-mode . "^\\*+ +")
(markdown-mode . "^\\#+ +")
(t . ,(or outline-regexp logos--page-delimiter))))
Furthermore, this code is discussed further in the manual, under the section "Use outlines and page breaks": https://protesilaos.com/emacs/logos#h:3464ada8-c55d-4179-9d54-c2f87e284ac7. The manual starts with the basic approach and then gradually shows more elaborate arrangements.
I prefer to keep this approach. If the user does a mistake in their configuration, they will fix it and learn something new from that.
Perfect!! To know that it is a conscious decision, is more than enough for these commits :-)
Thank you for taking the time to start this discussion!
The variables that can be set in the customization menu, maybe shouldn't appear as elisp code in the section "4 Sample Configuration". Because it is possible that the user copies that configuration from the elisp code into the init file, and when she tries to customize logos using the customization menu (maybe months later), the changes in the customization menu are "crushed" by the previously pasted elisp code.
I haven't made all the changes, just an example of my proposal.