You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Approach 1: output certain executeCommands to a compilation-mode buffer. Needs no LSP changes initially, just a list of command IDs to treat this way; ultimately the Command would provide this information. Prototype implemented.
Approach 2: express it entirely within the WorkDoneProgress mechanism: change the server to indicate that a given progress stream should be directed to a buffer, and formalize the final success/failure protocol.
This Emacs bug report explains that the underlying cause is a limitation of using kqueue on macOS: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51146 — possibly contributing fsevents support to Emacs’s filenotify package would fix the problem.
fix didChangeWatchedFiles to work recursively? The underlying Emacs filenotify package does not watch directories recursively, but gopls’s glob pattern requests recursive matching.
@stapelberg and I plan to work together to make Emacs+eglot smoother, faster, and better documented.
Some specific items (feel free to add or suggest more):
didChangeWatchedFilesfor unopened files on macOS (see x/tools/gopls: unable to organize imports after go mod tidy / go get #62330)didChangeWatchedFilesto work recursively? The underlying Emacsfilenotifypackage does not watch directories recursively, but gopls’s glob pattern requests recursive matching.go-*helper commands for features otherwise accessible though more cumbersome eglot commands (e.g. go-doc, go-test, go-freesymbols, etc); see add go-* shortcuts for various hard-to-find eglot operations dominikh/go-mode.el#436(global-set-key (kbd "s-<mouse-1>") #'xref-find-definitions-at-mouse).