-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to get signature info in Clojure DEFN form... #1253
Comments
Commenting out this part from
|
When I run |
This assumes you're in a directory where the But it's probably due to the fact that somewhere your copy of eglot which lives in
When you run this, depending on your |
Thanks for the explanation and fix. |
See joaotavora/eglot#1253 * lisp/progmodes/eglot.el (eglot--sig-info): Fix.
Clojure-lsp has very poor parameter information in the signature info, so I brought back an old heuristic. See latest Eglot. and give it some testing if you can. |
Ok. Seems fine, no extra colouring in eldoc so far. |
See joaotavora/eglot#1253 * lisp/progmodes/eglot.el (eglot--sig-info): Fall back to regexp technique if no parameters or poor parameter information.
Hi, I am getting an error
wrong-type-argument number-or-marker-p nil
when I move cursor inside a body of(defn)
.I have this problem with Clojure-LSP only. Dart-LSP or ClangD works without any issues.
Reproducible recipe:
clojure-lsp
is installed and available in pathemacs -Q -L straight/build/clojure-mode -l clojure-mode -L straight/build/eglot -l eglot ~/Code/Clojure/pacman/src/pacman/core.clj -f eglot
M-x toggle-debug-on-error
(defn my-function [arg] "smth')
Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) eglot--sig-info((:label "(defn [name doc-string? attr-map? ([params*] prepo..." :parameters [(:label "name") (:label "doc-string?") (:label "attr-map?") (:label "([params*] prepost-map? body)") (:label "+") (:label "attr-map?")] :documentation "Same as (def name (fn [params* ] exprs*)) or (def\n...") nil nil) #f(compiled-function (s) #<bytecode -0x9fdf05533c2e94d>)((:label "(defn [name doc-string? attr-map? ([params*] prepo..." :parameters [(:label "name") (:label "doc-string?") (:label "attr-map?") (:label "([params*] prepost-map? body)") (:label "+") (:label "attr-map?")] :documentation "Same as (def name (fn [params* ] exprs*)) or (def\n...")) mapconcat(#f(compiled-function (s) #<bytecode -0x9fdf05533c2e94d>) [(:label "(defn [name doc-string? attr-map? [params*] prepos..." :parameters [(:label "name") (:label "doc-string?") (:label "attr-map?") (:label "[params*]") (:label "prepost-map?") (:label "body")] :documentation "Same as (def name (fn [params* ] exprs*)) or (def\n...") (:label "(defn [name doc-string? attr-map? ([params*] prepo..." :parameters [(:label "name") (:label "doc-string?") (:label "attr-map?") (:label "([params*] prepost-map? body)") (:label "+") (:label "attr-map?")] :documentation "Same as (def name (fn [params* ] exprs*)) or (def\n...")] "\n") #f(compiled-function (jsonrpc-lambda-elem11) #<bytecode -0xf854fe77d439e90>)((:signatures [(:label "(defn [name doc-string? attr-map? [params*] prepos..." :parameters [(:label "name") (:label "doc-string?") (:label "attr-map?") (:label "[params*]") (:label "prepost-map?") (:label "body")] :documentation "Same as (def name (fn [params* ] exprs*)) or (def\n...") (:label "(defn [name doc-string? attr-map? ([params*] prepo..." :parameters [(:label "name") (:label "doc-string?") (:label "attr-map?") (:label "([params*] prepost-map? body)") (:label "+") (:label "attr-map?")] :documentation "Same as (def name (fn [params* ] exprs*)) or (def\n...")] :activeParameter 0 :activeSignature 0)) jsonrpc-connection-receive(#<eglot-lsp-server eglot-lsp-server-4de4329c> (:jsonrpc "2.0" :id 49 :result (:signatures [(:label "(defn [name doc-string? attr-map? [params*] prepos..." :parameters [(:label "name") (:label "doc-string?") (:label "attr-map?") (:label "[params*]") (:label "prepost-map?") (:label "body")] :documentation "Same as (def name (fn [params* ] exprs*)) or (def\n...") (:label "(defn [name doc-string? attr-map? ([params*] prepo..." :parameters [(:label "name") (:label "doc-string?") (:label "attr-map?") (:label "([params*] prepost-map? body)") (:label "+") (:label "attr-map?")] :documentation "Same as (def name (fn [params* ] exprs*)) or (def\n...")] :activeParameter 0 :activeSignature 0))) jsonrpc--process-filter(#<process EGLOT (pacman/(clojure-mode clojurescript-mode clojurec-mode))> "Content-Length: 117\15\n\15\n{\"jsonrpc\":\"2.0\",\"id\":48,\"r...")
The text was updated successfully, but these errors were encountered: