A recent change (https://github.com/raxod502/straight.el/pull/558) to
straight.el's use-package integration led to some of my :straight
definitions throwing errors.
When overriding the package name, do not wrap the real name in parens,
for example:
;; bad (no longer works)
(use-package helm-global-bindings
:straight (helm))
;; good (worked before, still works)
(use-package helm-global-bindings
:straight helm)
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.
- Switch from highlight-indentation package to highlight-indent-guides.
- Activate visual indentation in a prog-mode hook, rather than doing
within each individual major mode. It was already done within all
major modes based on prog-mode anyway.
- Add new siren-display-indetation module and function as a central way
to enable visual indetation guides. This makes switching the
underlying package at some point in the future much easier.
This also changes from using gocode and company for auto-completion, to
using lsp-mode with the bingo language server, and company as the
completion front-end.