This was done to help the modeline build its file path in indirect
buffers, but this has been fixed by using buffer-base-buffer.
Both ui/modeline and ui/doom-modeline have been refactored to
accommodate this.
Removes modeline library out of core-ui and contains them in :ui
doom-modeline and :ui modeline.
:ui modeline will eventually replace :ui doom-modeline, but is still
considered experimental. This update provides makes it much more stable
and closer to being feature complete.
This mode-line may have bugs and its implementation details are certain
to change (it doesn't follow naming conventions, for instance). It also
doesn't have all the features of the old modeline (yet).
However, it is easily twice as fast as the original, and a little more
flexible, what with the `mode-line-format-left' and
`mode-line-format-right' variables. It also exposes a more powerful API
for defining modelines and modeline segments (and switching between
them).
It is disabled by default and must be activated with the +new module
flag on the ui/doom-modeline 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.
Switch-window hooks would fire too frequently; like when switching to
the same window, clicking in windows, or from the minibuffer (e.g.
during ivy sessions).
Controlled by the buffer-local variable
+doom-modeline-enable-word-count. Use +doom-modeline|enable-word-count
to enable it in certain modes. By default, this is enabled in text-mode
derived buffers.