In fact, registering them, will override existing servers. When
registering the golangci-lint server, it prevents the regular gopls
server from being used.
There was recently a great tidy-up commit in the Emacs master
branch (commit 1f29ee2d21b57e81a28550a1b31bc8a39406d17b), which removed
a lot legacy stuff. Dired's dired-pop-to-buffer function was among them.
However dired+ plus seems to heavily depend on it, so for now, I've
simply copied the source of the function from the legacy cleanup commit.
It sometimes causes a long lock-up of Emacs. I believe this is due to a
known issue where the mode can cause excessive garbage collection while
scrolling, combined with my use of gcmh which prevents GC while actively
using Emacs.
Hence my theory is that pixel scrolling is causing tons of memory to be
consumed, but gcmh prevents the GC from running, until it hits a tipping
point where it GCs hundreds of megabytes of memory.
Or, that's my theory at least :P
The field_identifier type was recently removed from tree-sitter-go here:
https://github.com/tree-sitter/tree-sitter-go/pull/71
This means that struct keys are no longer syntax highlighted as
properties, which I dislike. Hence this new query targets the first
element of a key/value pair, and marks the first element as a @property
if it contains an identifier.
I'm not sure if this undoes the goal of removing the field_identifier,
but for now, it resolves my personal annoyance of struct keys not be
highlighted as properties when creating a new instance of the struct.
In languages that uses "{" for blocks, accepting a Copilot completion
that ends with "{", causing a structural imbalance, which
structural-based packages like smartparens does not like and causes
headaches.
With the custom accept function, trailing "{" chars along with any
whitespace before it, are ignored from Copilot completion. An exception
is made for if the removal of trailing "{" and whitespace yields an
empty completion, in which case the completion is accepted as is.