From: João Távora Date: Mon, 1 Jan 2024 21:12:28 +0000 (-0600) Subject: Eglot: filter by prefix in narrow-scope eglot-code-actions X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d2d33cbc538bd5fd2f9831f00fe0aa4a78186dfc;p=emacs.git Eglot: filter by prefix in narrow-scope eglot-code-actions Github-reference: https://github.com/joaotavora/eglot/issues/847 Servers like typescript-language-server, when asked for {"only" : "source.organizeImports"}, return actions with the "source.organizeImports.ts" kind. Eglot rejected these actions, but according to the spec: Kinds are a hierarchical list of identifiers separated by `.` [...] The set of kinds is open. So I guess we can use string-prefix-p * lisp/progmodes/eglot.el (eglot-code-actions): Use string-prefix-p. (cherry picked from commit 24741d25633084101ab697ba6e28f03e1cdc8b7a) --- diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index 048cf19213c..21f485bd349 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -3649,7 +3649,8 @@ at point. With prefix argument, prompt for ACTION-KIND." ;; Redo filtering, in case the `:only' didn't go through. (actions (cl-loop for a across actions when (or (not action-kind) - (equal action-kind (plist-get a :kind))) + ;; github#847 + (string-prefix-p action-kind (plist-get a :kind))) collect a))) (if interactive (eglot--read-execute-code-action actions server action-kind)