From 7405f975ef29750eb39d003dcdeb079493f79c48 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Sat, 22 Jul 2023 10:30:24 +0100 Subject: [PATCH] Eglot: simplify and hopefully fix last change (bug#64784) * lisp/progmodes/eglot.el (eglot--post-self-insert-hook): Use last-command-event. --- lisp/progmodes/eglot.el | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index 172fd97fdb5..ae31985a676 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -2447,18 +2447,16 @@ buffer." (defun eglot--post-self-insert-hook () "Set `eglot--last-inserted-char', maybe call on-type-formatting." - (setq eglot--last-inserted-char last-input-event) - (let ((ot-provider (eglot--server-capable :documentOnTypeFormattingProvider)) - ;; transform carriage return into line-feed - (adjusted-ie (if (= last-input-event 13) 10 last-input-event))) + (setq eglot--last-inserted-char last-command-event) + (let ((ot-provider (eglot--server-capable :documentOnTypeFormattingProvider))) (when (and ot-provider (ignore-errors ; github#906, some LS's send empty strings - (or (eq adjusted-ie + (or (eq eglot--last-inserted-char (seq-first (plist-get ot-provider :firstTriggerCharacter))) - (cl-find adjusted-ie + (cl-find eglot--last-inserted-char (plist-get ot-provider :moreTriggerCharacter) :key #'seq-first)))) - (eglot-format (point) nil adjusted-ie)))) + (eglot-format (point) nil eglot--last-inserted-char)))) (defvar eglot--workspace-symbols-cache (make-hash-table :test #'equal) "Cache of `workspace/Symbol' results used by `xref-find-definitions'.") -- 2.39.5