Minor changes were needed due to recent lsp-mode changes. My custom the
bufls and golangci-lint clients are now part of lsp-mode.
Also, within Ruby buffers I need to disable the vue-semantic-server
client, as that seems to take priority over Ruby clients in Rails
projects that use Vue.
Add a new vendored custom package called tab-bar-notch, which resizes
the tab-bar height to match that of the physical camera notch on modern
MacBook Pro models.
When yank-indent-mode is enabled, yanked (pasted) text is indented based
on the indent rules of the current major mode. It has a
global-yank-indent-mode too which by default excludes a long list of
known indentation sensitive modes with which this approach does not work
very well.
It is based on some random hacky snippets elisp I've been using for over
a decade. Said snippets are themselves based on some random snippets I
found online, and since morphed into the weird monster they had become.
There is a clang-format package in MELPA, but I believe a
reformatter-based solution works better. Hence I've made my own,
somewhat like a package, and simply thrown it into the vendor directory.
I've taken a lot of inspiration from Emacs-Prelude when it came to the
structure of this rewritten config. I didn't want to use Prelude as I
don't agree with all it's defaults, nor do I want to have to deal with
any future changes in Prelude that might break things for me. So instead
I went down the fully custom path, but heavily inspired by Prelude, both
in terms of file/code structure, and also some of it's features.
Compared to my old config setup, it's got most of the same things, but
nearly everything is in a module file now, making it easy to fully
enable/disable certain features.