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.
Recent Emacs 27 builds use the native macOS fullscreen for the first
10-20 seconds after startup when `ns-use-native-fullscreen` is set to
nil during startup.
So instead of forcing emacs into fullscreen, just force maximize the
window on startup instead.
With my shell setup cleaned up so all environment variables are set in
`~/.zshenv`, and all the slower interactive shell setup in `~/.zshrc`,
we can no remove the `-i` flag from exec-path-from-shell's setup,
leading to a much faster setup time.
Also load additional environment variables, and also set
`temporary-file-directory` to match the `TMPDIR` environment variable.
Due to the value being set not ending with a slash, auto-save files were
being stores in `~/.emacs.d/cache` instead of
`~/.emacs.d/cache/autosave`.
The fix was to add a slash at the end, and also to ensure the directory
exists.
And get rid of:
- dash, doesn't need to be, packages which depend on it, should have it
listed as a dependency
- smart-mode-line, don't need it anymore as I use the doom-modeline
package to stylize the modeline.
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.