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.
And override `reformatter-replace-buffer-contents-from-file` with a less
intrusive variant based on how go-mode's `gofmt` command updates buffer
with formatted content.
By default when region is not active, both `downcase-region` (C-x C-l)
and `upcase-region` (C-x C-u) will operate on surrounding text in
different ways depending on major-mode. This has caught me off guard a
few times.
So let's replace them with safer `downcase-region-only` and
`upcase-region-only` functions which ONLY perform changes when the
region is active. And obviously changes are only applied to the text
within the region.
This is to ensure it stay up to date with the siren-shift-text module,
which is currently the module I use for shifting text left/right. At
some point I will re-evaluate the smart-shift package.