]> git.eshelyaron.com Git - emacs.git/commitdiff
Eglot: Simplify overlay handling in manual example
authorSlava Akhmechet <coffeemug@gmail.com>
Thu, 11 Jan 2024 21:50:08 +0000 (15:50 -0600)
committerJoão Távora <joaotavora@gmail.com>
Thu, 11 Jan 2024 21:50:08 +0000 (15:50 -0600)
* doc/misc/eglot.texi (Extending Eglot): Simplify.

Copyright-paperwork-exempt: yes

doc/misc/eglot.texi

index a5c3a967af1c435cb4898a48f848f2e9efbc07fe..85fef6be5532e99cb1dd0811682d519c43089bb0 100644 (file)
@@ -1405,8 +1405,6 @@ The remainder of the implementation consists of standard Elisp
 techniques to loop over arrays, manage buffers and overlays.
 
 @lisp
-(defvar-local eglot-clangd-inactive-region-overlays '())
-
 (cl-defmethod eglot-handle-notification
   (_server (_method (eql textDocument/inactiveRegions))
            &key regions textDocument &allow-other-keys)
@@ -1414,14 +1412,14 @@ techniques to loop over arrays, manage buffers and overlays.
                                      (cl-getf textDocument :uri))))
             (buffer (find-buffer-visiting path)))
       (with-current-buffer buffer
-        (mapc #'delete-overlay eglot-clangd-inactive-region-overlays)
+        (remove-overlays nil nil 'inactive-code t)
         (cl-loop
          for r across regions
          for (beg . end) = (eglot-range-region r)
          for ov = (make-overlay beg end)
          do
          (overlay-put ov 'face 'shadow)
-         (push ov eglot-clangd-inactive-region-overlays)))))
+         (overlay-put ov 'inactive-code t)))))
 @end lisp
 
 @end itemize