[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/filechooser 01e4912bd6 10/23: Abbreviate names in selec
From: |
ELPA Syncer |
Subject: |
[elpa] externals/filechooser 01e4912bd6 10/23: Abbreviate names in selection buffer |
Date: |
Sun, 4 Feb 2024 12:58:35 -0500 (EST) |
branch: externals/filechooser
commit 01e4912bd68df541333bbae9e35c96c39355f1fa
Author: Rahguzar <rahguzar@zohomail.eu>
Commit: Rahguzar <rahguzar@zohomail.eu>
Abbreviate names in selection buffer
---
filechooser.el | 33 +++++++++++++++++++++++++++------
1 file changed, 27 insertions(+), 6 deletions(-)
diff --git a/filechooser.el b/filechooser.el
index 982103007e..c032f409c1 100644
--- a/filechooser.el
+++ b/filechooser.el
@@ -251,7 +251,8 @@ PROMPT and DIR are as in `read-directory-name'."
(when marked
(cl-callf nreverse (cdr dired-directory))
(dolist (file marked)
- (cl-pushnew file (cdr dired-directory) :test #'equal)))
+ (cl-pushnew file (cdr dired-directory) :test #'equal))
+ (cl-callf nreverse (cdr dired-directory)))
(revert-buffer)))
(setq marked nil unmarked nil timer nil))
@@ -259,7 +260,7 @@ PROMPT and DIR are as in `read-directory-name'."
"Deal with change in mark from BEG to END with LENGTH."
(when (and (derived-mode-p 'dired-mode)
(eq length 0) (eq (1+ beg) end)
- (not (invisible-p (1+ end))))
+ (not (invisible-p (1- (pos-eol)))))
(save-excursion
(goto-char beg)
(when (and (re-search-forward dired-re-mark end t)
@@ -285,16 +286,23 @@ editing session. FILTERS are in the format of
`filechooser-filters'."
(selection-buffer (progn (setcdr filechooser--selection nil)
(dired-noselect filechooser--selection))))
(unwind-protect
- (progn (dired (or dir default-directory))
- (setcdr filechooser--selection
+ (progn (setcdr filechooser--selection
(dired-noselect (list (car filechooser--selection))))
- (display-buffer selection-buffer
'(display-buffer-in-side-window (side . bottom)))
+ (display-buffer selection-buffer '(display-buffer-in-side-window
+ (side . left) (window-width
. 0.3)))
+ (select-window (get-buffer-window (cdr filechooser--selection)))
+ (redisplay)
(with-current-buffer (cdr filechooser--selection)
- (setq mode-line-format "Selected files"))
+ (setq mode-line-format " Selected files")
+ (dired-hide-details-mode)
+ (add-hook 'jit-lock-functions
#'filechooser--dired-jit-abbreviate 95 t)
+ (jit-lock-mode t))
(push overriding-map emulation-mode-map-alists)
(add-hook 'window-buffer-change-functions apply-filters)
(add-hook 'after-change-functions
'filechooser--process-changed-marks)
(setq filechooser--filters (append filechooser-filters filters))
+ (other-window 1)
+ (dired (or dir default-directory))
(funcall apply-filters nil)
(unless (recursive-edit)
(with-current-buffer (cdr filechooser--selection)
@@ -329,6 +337,19 @@ editing session. FILTERS are in the format of
`filechooser-filters'."
(remove-from-invisibility-spec 'filechooser-filter))
`(jit-lock-bounds ,beg . ,end))
+(defun filechooser--dired-jit-abbreviate (beg end)
+ "Ellipesize filenames from BEG to END."
+ (setq end (progn (goto-char end) (pos-eol)))
+ (setq beg (progn (goto-char beg) (goto-char (pos-eol))))
+ (while (< (point) end)
+ (when-let ((file (dired-get-filename nil t))
+ (name (file-name-directory file))
+ (name-end (+ (dired-move-to-filename) (length name))))
+ (put-text-property (point) name-end 'display ".../")
+ (put-text-property (point) name-end 'help-echo file))
+ (forward-line))
+ `(jit-lock-bounds ,beg . ,end))
+
(defun filechooser-dired-new-frame (&optional dir filters)
"Select some files using Dired in a new frame.
DIR is the directory for initial Dired buffer. FILTERS"
- [elpa] branch externals/filechooser created (now e428b5f2d4), ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser 8130dec72a 01/23: Initial commit, ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser 6b7bb245c9 03/23: Add license, ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser e49ab18e6d 04/23: Don't bind q to exit recursive edit, ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser 01e4912bd6 10/23: Abbreviate names in selection buffer,
ELPA Syncer <=
- [elpa] externals/filechooser c9705b5d4c 14/23: Provide a completing read multiple based interface for choosing, ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser 601c7c034c 09/23: Track selected files in a separate dired buffer, ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser dc246a2655 15/23: Add a completing-read in a loop filechooser, ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser e428b5f2d4 23/23: Documentation fixes, ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser 8c2c93a8b0 05/23: Add readme, ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser 83010806c3 07/23: Peek a little into the invisible region to nudge jit-lock, ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser 3669426f04 08/23: Move provide to the end, ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser d98a85f9d6 02/23: Add portal and service files, ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser 651ce0c440 06/23: Make directories filter work in dired, ELPA Syncer, 2024/02/04
- [elpa] externals/filechooser 676043fd0d 12/23: Make new frames optional, ELPA Syncer, 2024/02/04