Skip to content

DIY Add support for meow-mode ​

The meow package provides a modal editing experience. It is meant to build on top of the key bindings the user is already familiar with. My problem as an outsider is that I cannot make sense of all the contexts where its faces are used in, so I cannot make a good choice of which styles to use. The following is but a basic attempt to get started.

emacs-lisp
;; This is not complete, because it is difficult for a non-user to
;; make sense of where all the faces are used in.
(defun my-modus-themes-custom-faces (&rest _)
  (modus-themes-with-colors
    (custom-set-faces
     ;; FIXME: What is a "region cursor" and should it differ from the position highlights below?
     `(meow-region-cursor-1 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
     `(meow-region-cursor-2 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
     `(meow-region-cursor-3 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))

     `(meow-position-highlight-number-1 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
     `(meow-position-highlight-number-2 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
     `(meow-position-highlight-number-3 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft)))))))

(add-hook 'enable-theme-functions #'my-modus-themes-custom-faces)

Using a hook at the post-load-theme phase.