This is a basic setup, as I'm not very familiar with what is doable with
embark. It also takes over the goto-chg keybindings, cause that package
rarely worked correctly, so I almost never used it.
This should offer a more reliable means of running `whitespace-cleanup`
on buffer save than whitespace-mode's whitespace-action setting. Also it
allows for easily toggling whitespace clean up off by disabling
whitespace-clean-mode.
Some commands which output to compilation buffers did not get their
output colorized correctly by default. This ensures that terminal based
escape sequences are correctly handled.
Instead of manually just setting faces after loading a doom-themes
theme, let's use a custom override theme which we apply right after
applying any doom-themes theme.
The override theme uses various doom-color helpers, so the colors it
uses will be based on the most recently applied doom-themes theme.
The very next commit introduces a new feature to show git hunks, which
seems to have a negative impact on performance when moving the cursor
around, or adding/removing text within lines which are highlighted by
diff-hl while diff-hl-flydiff-mode is enabled.
So for now I'm pinning diff-hl to the commit right before this was
introduced.
Packages that need to be loaded on emacs startup, should just be loaded
through use-package in a non-deferred manner.
It makes no real difference to startup, loading the packages either
slows down emacs before "startup" is complete, or right after it
completes. End result is that Emacs is unresponsive for basically the
same amount of time regardless.
Replace persp-mode with:
- tab-bar-mode for perspective/screen management
- desktop-save-mode for session management
Both tab-bar-mode and desktop are enhanced and customized a decent bit
via the siren-tab-bar and siren-desktop modules.
This allows specific major-modes to disable hl-line-mode, which is
desired some terminal/shell modes like vterm where the hl-line flickers
constantly while typing.
company-lsp is no longer supported by lsp-mode for providing completions
to company, instead company-capf should be used which it built-in to
company itself.
It seems the visual-fill-column-mode that writeroom-mode depends upon
causes persp-mode to sometimes forget the contents/layout of a persp.
Hence I'm completely disabling it for now to see if it resolves my
issues, specially as I hardly ever use writeroom-mode anyway.
On my 2016 MacBook Pro correction times are around 200ms with the
daemon, compared to around 3-4 seconds without.
There might be some issues if bundler depends heavily on gems included
in the project, but we'll see how that goes.