As I'm no longer using whitespace-mode in prog-mode derived modes, the
cursor movement bug affecting highlight-indent-guides when
whitespace-mode is enabled is no longer an issue for me.
Further details about the highlight-indent-guides conflict with
whitespace-mode is available in this issue:
https://github.com/DarthFennec/highlight-indent-guides/issues/107
When whitespace-mode is enabled, single-line copilot completions makes
the cursor look like it's at the end of the completion rather than in
it's real position.
Issue with gifs showing the behavior is here:
https://github.com/zerolfx/copilot.el/issues/28
For the most part I should be able to live without whitespace-mode in
day to day use, and improvements to the highlight-indent-guides setup
should help.
And worst case, whitespace-mode can always be toggled easily enough.
Since we enable global-company-mode, explicitly enabling it in the setup
for various major modes does nothing. But it does tie the code to
company mode, making it harder to try alternatives like corfu.
- Fix issue where gotest could not be used from non-test files in Emacs
28.x or later.
- Bind "C-c , t" to ff-find-other-file to mimic behavior in Ruby via
rspec-mode.
- Configure gotest to always run tests with "-count=1" to avoid cached
results, so it's easier to notice and handle flickering tests.
Adds a function and keybinding to lookup name of current test via
a gotest.el helper function, and runs dap-mode with relevant config to
debug the specific test name found.
Also tweak a couple of other gopls settings, and set a others to their
defaults for the purpose of ensuring they stay that way, and also to
make it more obvious within emacs what options are available.
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.