serve-d and emacs

Per Nordlöw per.nordlow at gmail.com
Wed Apr 19 09:37:56 UTC 2023


On Wednesday, 28 April 2021 at 23:04:27 UTC, Christian Köstlin 
wrote:
>> if you configure it yourself, feel free to share the 
>> configuration and maybe PR it to serve-d repo.
> Its a little tricky, because the basic setup works e.g. with 
> emacs 27.2 or newer, but not with 27.1.
> All that is needed (if you have the right emacs version and use 
> straight for installing packages) is:

I'm having problems with serve-d + eglot in Emacs. All calls to

```
eglot-find-declaration
eglot-find-implementation
eglot-find-typeDefinition
```

answers as

```
eglot--error: [eglot] Sorry, this server doesn't do 
:textDocument/declaration
```

Are neither of

```
:textDocument/declaration
```

supported? If so what lsp request type should I use to 
lookup/navigate to definitions? Without such functionality I see 
no use of eglot.

. I'm currently using

```elisp
(use-package eglot
   ;; :straight t
   :ensure t
   :defer t
   :hook (d-mode . eglot-ensure)
   :config
   (progn
     ;; (add-hook 'd-mode-hook 'eglot-ensure)
	(let ((cmd '("dub" "run" "--vquiet" "serve-d")))
       (add-to-list 'eglot-server-programs 
;https://forum.dlang.org/post/s6cpls$pg3$1@digitalmars.com
                    `(d-mode . ,cmd))
	  (add-to-list 'eglot-server-programs 
;https://forum.dlang.org/post/s6cpls$pg3$1@digitalmars.com
                    `(d-ts-mode . ,cmd))))
   ;; (remove-hook 'd-mode-hook 'eglot-ensure)
   )
```

. Has anybody gotten these things to work?


More information about the Digitalmars-d-learn mailing list