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.
It seems to cause very long freezes within magit itself, especially when
trying to commit. It seems to that the git diff command that's run in
the background hangs and/or takes a very long time to complete for some
reason.
Manually killing those git processes let's magit wake up instantly
again, in htop they're listed as:
git --no-pager diff --no-color -U0 <Git SHA of HEAD>
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.
Persp-mode doesn't quite manage to restore magit buffers correctly, so
I've opted to have it ignore any and all magit buffers when performing
it's auto-save.
It is possible to configure it to know how to save and load the
magit-status buffer for example, but the snippet for it from
persp-mode's readme doesn't fully restore the buffer as is. And magit
has many different kinds of buffers, so I've simply opted for having all
ignored.
Ever since I started using persp-mode, launching Emacs in a terminal has
made it restore the same set of open files as in my main GUI instance of
Emacs. This hasn't been a big deal, but still somewhat annoying.
I've finally gotten around to disabling persp-mode's auto save/load
feature when running Emacs in a terminal.
And for good measure, I also set the theme to be doom-vibrant in the
terminal too. My old tomorrow-night-paradise is way out of date, and
nowhere near as good as doom-vibrant.
The undo history feature of undo-tree has been very unreliable lately,
to the point it fails to load undo history for nearly every file.
It seems the undohist package is a lot more reliable.
With Emacs 27 we are using the new built-in
display-fill-column-indicator mode. It does not have issues with
web-mode like fci-mode from the fill-column-indicator package does.