clojure-lsp / clojure-lsp

Clojure & ClojureScript Language Server (LSP) implementation

Home Page:https://clojure-lsp.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Display fully-qualified function name on textDocument/signatureHelp

bigodel opened this issue · comments

Is your feature request related to a problem? Please describe.

The signature help should display all information pertaining to the symbol, which should include its namespace. Such a change would be trivial, since the information required is already present when constructing the labels. I'd like to also ask to remove the parenthesis around the function signature, as it breaks some heuristics for some clients to fontify the results of textDocument/signatureHelp, plus it deviates from the standard for LISP and Clojure signature (CIDER, Emacs' ElDoc, clojure-lsp's hover...).

Describe the solution you'd like

My suggestion would be to change these lines to

(defn ^:private definition->signature-informations [{:keys [arglist-strs] :as definition}]
  (map (fn [arglist-str]
         (let [qualified-name (format "%s/%s" (:ns definition) (:name definition))]
           (-> {:label (format "%s %s" qualified-name arglist-str)
                :parameters (arglist-str->parameters arglist-str)}
               (assoc-some :documentation (:doc definition)))))
       arglist-strs))