Instead of directly using the my current favorite indentation
highlighting package in various places, only use the
siren-display-indentation function. This lets me control it from a
single central place.
Setting company-echo-delay to 0.5 instead of 0 will help reduce unneeded
and intrusive code-completion popups while in the middle of typing. It
seemed like a good idea when I first set it, but after some use, no
thanks.
The whitespace-style tweak, effectively removes "indentation" from the
list of items whitespace-cleanup deals with on save. Indentation is
already being fixed by lsp-mode's before-save hooks, and
whitespace-cleanup was not very intelligent about it. It specifically
replaced all instances of four consecutive spaces in raw string
literals with a tab, which caused issues with multi-line raw strings
containing JSON.
The auto-highlight-symbol package has a nicer interactive editing mode,
but it messes with the visual presentation for selected region and other
things. So let's go back to the less fancy but more reliable
highlight-symbol package.
Also let's properly disable both symbol highlighting packages in golang
and dart, where lsp-mode provides a better and more intelligent symbol
highlighting feature.
And also improve zoom-window color selection by adding a doom-themes
override for zoom-window, removing the hard-coded modeline background
color which was used before.
I'm not fully convinced with swapping out ido with selectrum, so I'll
add the configuration for both, without actually loading them, and
instead manually try them out from time to time.
Also, make ivy use prescient for filtering and sorting, as it does a
much better job than ivy itself does by default. But nothing currently
uses ivy either, so it's more for future if I start using ivy somewhere.
I don't use inf-ruby that much, so I'm fine with using it via M-x when
needed. Specially as a bunch of it's keybindings overrides a few global
keybindings I have set.
I mapped helm-make-projectile to "m" within the helm-command-map, which
replaced helm-man-woman which, so let's make that available as "M"
within the helm-command-map instead.
Smex has not been updated since late 2015. Amx was originally a fork of
smex, but as since evolved much further into it's own thing.
Among other things is supports other completing backends, and ivy with
it's fuzzy matching feels rather nice. I'm keeping ido-mode for
everything else, but specifically for M-x I'll give ivy a try.
Spring has changed and is no longer compatible with the way that
rspec-mode implements spring support. Hence we need to disable
rspec-mode's support and attempts at using Spring the wrong way.
Once rspec-mode has been updated to support spring again, we can
re-enable this.
I've been using doom-themes' doom-vibrant for long enough now that I'm
certain I won't be moving away from it anytime soon. So let's simplify
and strip away all other theme setup stuff.
As I don't see myself using tabs all the time, but potentially wanting
access to them every now and then, I need to manually trigger one of the
tab / tab-group switching keybindings, or M-x centaur-tabs-mode to load
and enable it.