From 0963313dbb4357d7e25d936ac46ca66b81831948 Mon Sep 17 00:00:00 2001 From: Zelong Kuang Date: Tue, 18 Nov 2025 18:48:05 +1100 Subject: [PATCH] Benchmark, raindow parenthesis, ef themes --- config.el | 55 ++++++++++++++++++++++++++++++++-------- config.org | 72 +++++++++++++++++++++++++++++++++++++++++++++-------- packages.el | 6 +++++ 3 files changed, 112 insertions(+), 21 deletions(-) diff --git a/config.el b/config.el index 199ece9..5dd49e5 100644 --- a/config.el +++ b/config.el @@ -1,3 +1,9 @@ +;; (use-package! benchmark-init +;; :ensure t +;; :config +;; ;; To disable collection of benchmark data after init is done. +;; (add-hook 'after-init-hook 'benchmark-init/deactivate)) + (setq doom-font (font-spec :family "Maple Mono" :size 20)) (add-to-list 'default-frame-alist '(height . 53)) (add-to-list 'default-frame-alist '(width . 120)) @@ -6,6 +12,33 @@ (setq display-line-numbers-type 'relative) (setq org-directory "~/org/") +;; (use-package! ef-themes +;; :ensure t +;; :init +;; ;; This makes the Modus commands listed below consider only the Ef +;; ;; themes. For an alternative that includes Modus and all +;; ;; derivative themes (like Ef), enable the +;; ;; `modus-themes-include-derivatives-mode' instead. The manual of +;; ;; the Ef themes has a section that explains all the possibilities: +;; ;; +;; ;; - Evaluate `(info "(ef-themes) Working with other Modus themes or taking over Modus")' +;; ;; - Visit +;; (ef-themes-take-over-modus-themes-mode 1) +;; :bind +;; (("" . modus-themes-rotate) +;; ("C-" . modus-themes-select) +;; ("M-" . modus-themes-load-random)) +;; :config +;; ;; All customisations here. +;; (setq modus-themes-mixed-fonts t) +;; (setq modus-themes-italic-constructs t) + +;; ;; ;; Finally, load your theme of choice (or a random one with +;; ;; ;; `modus-themes-load-random', `modus-themes-load-random-dark', +;; ;; ;; `modus-themes-load-random-light'). +;; ;; (modus-themes-load-theme 'ef-light) +;; ) + (use-package! nano-modeline :config (add-hook 'prog-mode-hook #'nano-modeline-prog-mode) @@ -41,6 +74,11 @@ (map! "M-s m" #'gptel-menu) ) +(use-package! rainbow-delimiters + :hook ((prog-mode . rainbow-delimiters-mode) + (typst-ts-mode . rainbow-delimiters-mode) + (foo-mode . rainbow-delimiters-mode))) + (use-package! typst-ts-mode :init (add-hook 'typst-ts-mode-hook #'eglot-ensure) @@ -77,17 +115,12 @@ ) (use-package org-latex-preview + :hook ((org-mode . org-latex-preview-mode) + (org-latex-preview-mode . org-latex-preview-center-mode)) :config ;; Increase preview width - (plist-put org-latex-preview-appearance-options - :page-width 0.8) - - (add-hook 'org-mode-hook 'org-latex-preview-mode) - - ;; ;; Block C-n, C-p etc from opening up previews when using `org-latex-preview-mode' - ;; (setq org-latex-preview-mode-ignored-commands - ;; '(next-line previous-line mwheel-scroll - ;; scroll-up-command scroll-down-command)) + ;; (plist-put org-latex-preview-appearance-options + ;; :page-width 0.8) ;; ;; Enable consistent equation numbering (setq org-latex-preview-numbered t) @@ -100,6 +133,7 @@ ;; More immediate live-previews -- the default delay is 1 second (setq org-latex-preview-mode-update-delay 0) + ;; code for centering LaTeX previews -- a terrible idea (defun my/org-latex-preview-uncenter (ov) (overlay-put ov 'before-string nil)) (defun my/org-latex-preview-recenter (ov) @@ -131,4 +165,5 @@ (remove-hook 'org-latex-preview-overlay-update-functions #'my/org-latex-preview-center) (remove-hook 'org-latex-preview-overlay-open-functions - #'my/org-latex-preview-uncenter)))) + #'my/org-latex-preview-uncenter))) + ) diff --git a/config.org b/config.org index fddc926..a6cf01a 100644 --- a/config.org +++ b/config.org @@ -1,3 +1,14 @@ +* Benchmark +#+begin_src emacs-lisp :tangle packages.el +;; (package! benchmark-init) +#+end_src +#+begin_src emacs-lisp +;; (use-package! benchmark-init +;; :ensure t +;; :config +;; ;; To disable collection of benchmark data after init is done. +;; (add-hook 'after-init-hook 'benchmark-init/deactivate)) +#+end_src * My doom config ** Appearance settings @@ -16,6 +27,38 @@ #+begin_src emacs-lisp :tangle packages.el (package! catppuccin-theme) #+end_src +**** ef-themes +#+begin_src emacs-lisp :tangle packages.el +;; (package! ef-themes) +#+end_src +#+begin_src emacs-lisp +;; (use-package! ef-themes +;; :ensure t +;; :init +;; ;; This makes the Modus commands listed below consider only the Ef +;; ;; themes. For an alternative that includes Modus and all +;; ;; derivative themes (like Ef), enable the +;; ;; `modus-themes-include-derivatives-mode' instead. The manual of +;; ;; the Ef themes has a section that explains all the possibilities: +;; ;; +;; ;; - Evaluate `(info "(ef-themes) Working with other Modus themes or taking over Modus")' +;; ;; - Visit +;; (ef-themes-take-over-modus-themes-mode 1) +;; :bind +;; (("" . modus-themes-rotate) +;; ("C-" . modus-themes-select) +;; ("M-" . modus-themes-load-random)) +;; :config +;; ;; All customisations here. +;; (setq modus-themes-mixed-fonts t) +;; (setq modus-themes-italic-constructs t) + +;; ;; ;; Finally, load your theme of choice (or a random one with +;; ;; ;; `modus-themes-load-random', `modus-themes-load-random-dark', +;; ;; ;; `modus-themes-load-random-light'). +;; ;; (modus-themes-load-theme 'ef-light) +;; ) +#+end_src *** Nano modeline #+begin_src emacs-lisp :tangle packages.el (package! nano-modeline) @@ -116,6 +159,16 @@ Configuration (map! "M-s m" #'gptel-menu) ) #+end_src +*** Rainbow delimiters +#+begin_src emacs-lisp :tangle packages.el +(package! rainbow-delimiters) +#+end_src +#+begin_src emacs-lisp +(use-package! rainbow-delimiters + :hook ((prog-mode . rainbow-delimiters-mode) + (typst-ts-mode . rainbow-delimiters-mode) + (foo-mode . rainbow-delimiters-mode))) +#+end_src ** Lang *** Typst **** Tree-sitter @@ -210,19 +263,13 @@ Configuration #+end_src #+begin_src emacs-lisp - (use-package org-latex-preview + :hook ((org-mode . org-latex-preview-mode) + (org-latex-preview-mode . org-latex-preview-center-mode)) :config ;; Increase preview width - (plist-put org-latex-preview-appearance-options - :page-width 0.8) - - (add-hook 'org-mode-hook 'org-latex-preview-mode) - - ;; ;; Block C-n, C-p etc from opening up previews when using `org-latex-preview-mode' - ;; (setq org-latex-preview-mode-ignored-commands - ;; '(next-line previous-line mwheel-scroll - ;; scroll-up-command scroll-down-command)) + ;; (plist-put org-latex-preview-appearance-options + ;; :page-width 0.8) ;; ;; Enable consistent equation numbering (setq org-latex-preview-numbered t) @@ -235,6 +282,7 @@ Configuration ;; More immediate live-previews -- the default delay is 1 second (setq org-latex-preview-mode-update-delay 0) + ;; code for centering LaTeX previews -- a terrible idea (defun my/org-latex-preview-uncenter (ov) (overlay-put ov 'before-string nil)) (defun my/org-latex-preview-recenter (ov) @@ -266,5 +314,7 @@ Configuration (remove-hook 'org-latex-preview-overlay-update-functions #'my/org-latex-preview-center) (remove-hook 'org-latex-preview-overlay-open-functions - #'my/org-latex-preview-uncenter)))) + #'my/org-latex-preview-uncenter))) + ) #+end_src + diff --git a/packages.el b/packages.el index 5d02a01..ee6a3d7 100644 --- a/packages.el +++ b/packages.el @@ -1,9 +1,15 @@ +;; (package! benchmark-init) + (package! catppuccin-theme) +;; (package! ef-themes) + (package! nano-modeline) (package! gptel :recipe (:nonrecursive t)) +(package! rainbow-delimiters) + (package! typst-ts-mode :recipe (:host codeberg :repo "meow_king/typst-ts-mode")) (package! typst-preview