diff options
| author | João Távora | 2026-04-16 08:03:33 +0100 |
|---|---|---|
| committer | João Távora | 2026-04-16 08:05:13 +0100 |
| commit | 213b8e0b978a28305a1a3c9735114449962cfbef (patch) | |
| tree | 834b3eea4dee286eafb77a969e7a552c61b31f8c /etc/srecode | |
| parent | abcd0d3c8da637f3b0e828afcbc92ca90954744f (diff) | |
| download | emacs-master.tar.gz emacs-master.zip | |
Some LSP servers prefer to canonicalize all document URIs to
their "true name", chasing all fs symbolic links. If the user
is visiting a project under a symlink, say ~/myprojects/foo
which points to /data/true/projects/foo. When visiting a
~/myprojects/foo/f.c and trying to jump to a nearby file f.h via
LSP 'xref-find-definitions', the path should probably be
~/myproject/foo/f.h, not /data/true/projects/foo/f.h.
Even though Emacs can recognize that the two files are the same,
'buffer-file-name' is not. This confuses tools like C-x C-f,
ibuffer, and ultimately the users themselves who probably
oblivious to the true place of the project. After all they
started Eglot under a syminked file.
* lisp/progmodes/eglot.el (eglot-lsp-server): Add trueroot slot.
(eglot-uri-to-path): Rework to consider trueroot and project root.
Diffstat (limited to 'etc/srecode')
0 files changed, 0 insertions, 0 deletions