Closed ndw closed 3 years ago
I'm not using helm so I'm not sure what is the problem. Starting with this configuration and if you remove anything nano related, does it work as expected? If yes, can you start adding nano files one by one to check which one is faulty?
I found I had to add helm faces in a specific way (note the various functions) though haven't tested this lately, but you might give it a try first (put this in nano-theme.el
):
(defun nano-theme--helm ()
"Derive helm faces from nano faces."
(with-eval-after-load 'helm
(set-face 'helm-selection '(nano-face-strong nano-face-subtle))
(set-face 'helm-match 'nano-face-strong)
(set-face 'helm-source-header 'nano-face-salient)
(set-face 'helm-visible-mark 'nano-face-strong)))
(defun nano-theme--helm-swoop ()
"Derive helm faces from nano faces."
(with-eval-after-load 'helm-swoop
(set-face 'helm-swoop-target-line-face '(nano-face-strong nano-face-subtle))))
(defun nano-theme--helm-occur ()
"Derive helm faces from nano faces."
(with-eval-after-load 'helm-occur
(set-face 'helm-moccur-buffer 'nano-face-strong)))
(defun nano-theme--helm-ff ()
"Derive helm faces from nano faces."
(with-eval-after-load 'helm-ff
(set-face 'helm-ff-file 'nano-face-faded)
(set-face 'helm-ff-prefix 'nano-face-strong)
(set-face 'helm-ff-dotted-directory 'nano-face-faded)
(set-face 'helm-ff-directory 'nano-face-strong)
(set-face 'helm-ff-executable 'nano-face-popout)))
(defun nano-theme--helm-grep ()
"Derive helm faces from nano faces."
(with-eval-after-load 'helm-grep
(set-face 'helm-grep-match 'nano-face-strong)
(set-face 'helm-grep-file 'nano-face-faded)
(set-face 'helm-grep-lineno 'nano-face-faded)
(set-face 'helm-grep-finish 'nano-face-default)))
By the way, for the mu4e customization, you don't need to use nano at all. You can only use the nano-mu4e.el
and adapt the few faces that are required (only four I think).
For the helm problem, the culprit seems to be helm-swoop, is that right? if yes, I can have a look at the code to see if I can find something strange inside.
If I'm remembering correctly, the problem is that helm-swoop (and other parts of helm) are not all loaded when helm itself is, so the single with-eval-after-load
call isn't enough. Hence the separate loading of helm parts as described above.
You mean the above init splitting works as intended ? If so, can you make a PR?
Thanks, @mclearc that did the trick. I'll make a PR, since I've got it "right here".
I'm trying a little harder to build a configuration on top of nano. Mostly because I want to try out the mu4e customization, but also because I expect almost thirty years of emacs hacking has, uh, bloated things a little. I wondered what it would be like to try nano and add just the things I need.
One of the things I've gotten used to is helm. But if I load helm and nano, I get
invalid face
messages.Here's my pared down config:
With (just) this in my
init.el
, I get an invalid face (helm-swoop-target-line-face
) as soon as I do anything that tries to prompt in the minibuffer.With this configuration I can't even get a stack trace to occur, but I did with a slightly less minimal configuration and it was falling over in the
with-eval-after-load 'helm
code innano-theme.el
, I believe.