My understanding is if that I use any of :commands
, :bind
, :bind*
, :bind-keymap
, :bind-keymap*
, :mode
, or :interpreter
, then it will create a corresponding autoload and defer loading of the package until that autoload is triggered.
I'm confused about the situations in which the package will load given that I don't use any of the above sections and I set it to :defer t
.
I see this in the readme:
Typically, you only need to specify
:defer
if you know for a fact that some other package will do something to cause your package to load at the appropriate time, and thus you would like to defer loading even though use-package isn't creating any autoloads for you.
If I know for a fact that package X has "built-in" autoloads (i.e. autoloads defined by the package author), then can I simply set :defer t
and rely on those to load the package at the appropriate time?