Adds +helm/project-search, as well as +helm/ag and +helm/ag-from-cwd,
and variants for rg, pt and grep/git-grep, to mirror the functionality
available to :completion ivy.
Also updates the evil ex commands and keybinds
This prevents void-variable +popup-buffer-mode-map errors that occur in
some hard to reproduce scenarios.
Also ensures that window-persistent-parameters is being restored when
+popup-mode is disabled.
load!'s first argument is no longer a symbol (that will cause
void-variable errors now) to save on unnecessary interning and simplify
compile-time logic. It accepts any valid form that evaluates to a string
now.
If you use load!, you need to change its argument to a string!
e.g. (load! +my-module) => (load! "+my-module")
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.
In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.
Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.
This gained me a modest ~10% boost in startup speed.
(autosave . CDR)
This parameter determines what to do with modified buffers in closing
popup windows. CDR can be a t, 'ignore, a function or nil.
+ If t, no prompts. Just save them automatically (if they're
file-visiting buffers).
+ If 'ignore, no prompts, no saving. Just silently kill it.
+ If nil (the default), prompt the user what to do if the buffer is
file-visiting and modified.
+ If a function, the return value must return one of the other values.
It takes two arguments: the popup window and buffer.