+ Removed ranger/dired-setup hook and performed its config globally
+ Lazy-loaded ranger
+ Removed unnecessary `:defer t`s (redundant with :commands and :hook)
and `:commands` (redundant with :hook)
+ Set image-dired-dir before trying to create it, to give users an
opportunity to modify it before it is created
+ Use sharp quotes consistently for keybind commands
Cause by the expectation that doom-project-root would never return
nil (which was changed to return nil if not in a valid project, due to
an update upstream, in projectile).
ob-async adds its own advice around org-babel-execute-src-block, which
directly interferes with Doom's lazy loader for babel
packages (sometimes bypassing it entirely). This ensures it can't do
that.
ob-async uses org-babel-load-languages to load babel packages in a child
process, but packages entered into the org-babel-load-languages variable
by Doom's lazy loader were misnamed. This caused load errors in the
child process.
The language-to-package resolution is now performed before it is entered
into org-babel-load-languages. Additionally, ob-async will now be lazy
loaded if it is available (and fail silently otherwise).
Caused because use-package is creating an autoload for TeX-latex-mode as
if it were in the tex package, but it's in the latex package, instead.
Since auctex already autoloads TeX-latex-mode, there's no need to set
our own.
Occasionally, a window will lose its popup status, but not its special
window parameters, forcing non-popups to be treated like popups when
delete-other-windows is called.
helm-projectile-find-file doesn't respect
projectile-require-project-root by hard-coding it's no-project error
handling into its helm-projectile-* functions. This means if you try to
use helm-projectile-find-file in a non-project you get this error. So we
use helm-find-files for non-projects instead.