Open Hugo-Heagren opened 2 years ago
First of all, your grammar is invalid as Elisp
'(use-package foo
:hook
(bar-mode . foo-mode-hook :depth 80 :local t))
;;=> Debugger entered--Lisp error: (invalid-read-syntax ". in wrong context")
;; read(#<buffer *scratch*>)
;; elisp--preceding-sexp()
;; elisp--eval-last-sexp(t)
;; eval-last-sexp(t)
;; eval-print-last-sexp(nil)
;; funcall-interactively(eval-print-last-sexp nil)
;; call-interactively(eval-print-last-sexp nil nil)
;; command-execute(eval-print-last-sexp)
@conao3 you're right. I was rembering that it's possible to have many elements to the left of the .
, and getting confused. Perhaps it could be done without cons cells, and just with a list, like this:
(use-package foo
:hook
(bar-mode foo-mode-hook :depth 80 :local t))
or this:
(use-package foo
:hook
(bar-mode foo-mode-hook 80 t))
Of course, for backwards compatibility the cons cell format could still be supported, it just wouldn't support the extra arguments. Or another way perhaps?
This would be very helpful to have. There is no clean way to combine defer and hook addition at a non-default depth.
@jdtsmith since making this request I have migrated to leaf. One of my reasons was that the maintainer seems much more active on the project, and requests like this (and my PR on use-package) are more likely to be acted upon. I just haven't got round to making them yet...
I'm trying to port some of my old config into neater use-package declarations and I have a few
add-hook
s which use the optionalDEPTH
andLOCAL
args of that function. These aren't currently supported by use-package, but it would be nice if they were. Perhaps something like one of these?More consistent with use-package's use of keys:
And more consistent with
add-hook
(though with the disadvantage that comes with all optional positional arguments -- specifying only the last one requires specifying the others as nil, which is kinda cluttered):Personally I prefer the first, but either would be good. I would be happy to try implementing this and submit a PR..