Hide temporary FUSE files in Tramp

* lisp/net/tramp-fuse.el (tramp-fuse-remove-hidden-files): New defsubst.
(tramp-fuse-handle-directory-files)
(tramp-fuse-handle-file-name-all-completions): Use it.
This commit is contained in:
Michael Albinus 2022-05-15 15:09:26 +02:00
parent 5dbaddc729
commit 007bf9a34c

View file

@ -44,6 +44,12 @@
(delete-file (tramp-fuse-local-file-name filename) trash) (delete-file (tramp-fuse-local-file-name filename) trash)
(tramp-flush-file-properties v localname))) (tramp-flush-file-properties v localname)))
(defsubst tramp-fuse-remove-hidden-files (files)
"Remove hidden files from FILES."
(cl-remove-if
(lambda (x) (and (stringp x) (string-match-p "\\.fuse_hidden" x)))
files))
(defun tramp-fuse-handle-directory-files (defun tramp-fuse-handle-directory-files
(directory &optional full match nosort count) (directory &optional full match nosort count)
"Like `directory-files' for Tramp files." "Like `directory-files' for Tramp files."
@ -75,7 +81,8 @@
result))) result)))
(setq result (cons item result)))) (setq result (cons item result))))
;; Return result. ;; Return result.
(if nosort result (sort result #'string<)))))) (tramp-fuse-remove-hidden-files
(if nosort result (sort result #'string<)))))))
(defun tramp-fuse-handle-file-attributes (filename &optional id-format) (defun tramp-fuse-handle-file-attributes (filename &optional id-format)
"Like `file-attributes' for Tramp files." "Like `file-attributes' for Tramp files."
@ -92,6 +99,7 @@
(defun tramp-fuse-handle-file-name-all-completions (filename directory) (defun tramp-fuse-handle-file-name-all-completions (filename directory)
"Like `file-name-all-completions' for Tramp files." "Like `file-name-all-completions' for Tramp files."
(tramp-fuse-remove-hidden-files
(all-completions (all-completions
filename filename
(delete-dups (delete-dups
@ -105,7 +113,7 @@
(catch 'match (catch 'match
(dolist (elt completion-regexp-list) (dolist (elt completion-regexp-list)
(unless (string-match-p elt item) (throw 'match nil))) (unless (string-match-p elt item) (throw 'match nil)))
(setq result (cons (concat item "/") result)))))))))) (setq result (cons (concat item "/") result)))))))))))
(defun tramp-fuse-handle-file-readable-p (filename) (defun tramp-fuse-handle-file-readable-p (filename)
"Like `file-readable-p' for Tramp files." "Like `file-readable-p' for Tramp files."