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.
Ensure language servers only start when a buffer is visible. This helps
with desktop restore speed, as various language servers do not start all
at the same time.
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.
The highlight-indent-guides package seems to have a cursor movement bug
with some modes, and makefile-mode is one of them.
Also Makefiles are tab indented, and the indentation highlight replaces
the tab character symbol, making it difficult to properly understand the
indentation level.
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)
It seems when native-comp is used, the kill-buffer-hook in json-snatcher
is registered, even though the library itself isn't registered. And the
`jsons-remove-buffer` function does not have a autoload declaration.
Hence we use use-package to manually create a autoload for the function.
This allows specific major-modes to disable hl-line-mode, which is
desired some terminal/shell modes like vterm where the hl-line flickers
constantly while typing.
Enable polymode within code-blocks in Markdown files. Effectively, it
allows code-blocks of various languages to be handled by their
respective major modes, allowing correct syntax highlighting, snippets,
and other features to work as you would expect.
Terraform-mode already comes with it's own
terraform-format-on-save-mode, but the way it inserts the corrected
source into the buffer often causes weird cursor movement which is
annoying.
This means that each project gets a separate solargraph server, rather
than one server handles all projects. This does mean more memory is
consumed, but it overall it makes lsp-mode perform much faster, and be
more stable.