The terraform language server is not very good, very rarely provides any
completions, and when it doesn't it overall is just slow and laggy.
Especially so as lsp-mode is set to syntax highlight with the language
server, causing syntax highlighting to often be about 5 seconds behind
of whatever you're typing.
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.
Syntax highlighting within code blocks is nice, but it doesn't always
play that nice, and messes up the syntax highlighting of the rest of the
file quite often.
Due to how lsp integrates with flycheck, it needs to take over all
linting responsibilities.
Hence we need to use efm-langserver to execute shellcheck for us. It's a
bit messy, but end result works pretty well.
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.
Use the makefile-executor package instead of helm-make to execute make
targets. But we still rely on helm-make due to it's more efficient
available targets lookup function compared to that of makefile-executor.
Running make targets is bound to C-c C-m now which is nice and fast, and
completes via completing-read, which is currently giving a better
suggested candidates via selectrum+orderless than helm-make does.
And helm-make is still available via the old C-c h m keybinding.