branch: elpa/aidermacs
commit be8fa572bf31771ef068c0c689080d5df2e6b37d
Author: Mingde (Matthew) Zeng <matthew...@posteo.net>
Commit: Mingde (Matthew) Zeng <matthew...@posteo.net>

    Use add-function for aidermacs--vterm-filter-buffer-substring
    
    Addresses #68 and #78
    
    Signed-off-by: Mingde (Matthew) Zeng <matthew...@posteo.net>
---
 aidermacs-backend-vterm.el | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/aidermacs-backend-vterm.el b/aidermacs-backend-vterm.el
index 2e6e89d4d3..92b8c75e35 100644
--- a/aidermacs-backend-vterm.el
+++ b/aidermacs-backend-vterm.el
@@ -155,16 +155,10 @@ Use BUFFER if provided, otherwise retrieve it from 
`aidermacs-get-buffer-name'."
         (setq aidermacs--vterm-active-timer nil)))))
 
 
-(defun aidermacs--vterm-filter-buffer-substring (beg end &optional delete)
-  "Filter text from BEG to END in vterm buffer for cleaner display.
-When DELETE is non-nil, extract and delete the region instead of copying it."
-  (let* ((text (cond
-                (delete
-                 (save-excursion
-                   (goto-char beg)
-                   (delete-and-extract-region beg end)))
-                (t
-                 (buffer-substring beg end))))
+(defun aidermacs--vterm-filter-buffer-substring (orig-fun &rest args)
+  "Filter text using ORIG-FUN with ARGS for cleaner vterm display.
+Converts multiple spaces to newlines and trims trailing whitespace."
+  (let* ((text (apply orig-fun args))
          (space-fixed (replace-regexp-in-string "[ \t]{3,}" "\n" text))
          (lines (split-string space-fixed "\n"))
          (clean-lines (mapcar #'string-trim-right lines))
@@ -340,7 +334,8 @@ _ARGS are the arguments."
   "Minor mode for vterm backend buffer used by aidermacs."
   :init-value nil
   :keymap aidermacs-vterm-mode-map
-  (setq-local filter-buffer-substring-function 
'aidermacs--vterm-filter-buffer-substring))
+  (add-function :around (local 'filter-buffer-substring-function)
+                #'aidermacs--vterm-filter-buffer-substring))
 
 (provide 'aidermacs-backend-vterm)
 ;;; aidermacs-backend-vterm.el ends here

Reply via email to