This code *may* have side-effects, but it does reduce startup time for
terminal users by a significant margin. In my case it reduced from 2.6s
to 0.4s.
Also:
- Reorder projectile variables.
- Remove unused projectile-sort-order (since ripgrep is a hard
dependency of Doom now, there should be no situation where we
projectile-sort-order is important to us as a default).
Projectile has `projectile-git-command` and
`projectile-git-submodule-command`. By default, these use `git ls-files`
and `git submodule foreach 'echo $path'`, respectively. It uses them
together to index a full list of project files.
Since we've changed `projectile-git-command` to use `fd` or `ripgrep`,
which indexes submodules just fine (unlike git ls-files), you get
duplicates when projectile does a second pass with
`projectile-git-submodule-command`, so we unset it completely.
- Replace doom//upgrade with doom/upgrade
- Replace doom//autoloads with doom/reload-autoloads
- Replace doom//refresh with doom/reload
- Remove doom//install; there should be no workflow for this command
- Remove doom//autoremove; autoremove was replaced with purge. Maybe
I'll write a doom//purge analogue. Not sure yet.
- Use compile instead of hacky wrapper around core-cli API
Rewrite interactive CLI commands
- Rewrite doom//upgrade & doom//autoloads
- Remove doom//install; there really should be no use-case for it
- Remove doom//autoremove; autoremove was replaced with purge. I'll get
around to writing a doom//purge eventually.
fixup! Rewrite interactive CLI commands
We don't need to be so judicious about what files are included in the
MRU list. If you open a file, any file, it'll be considered a recently
opened file.