|
|
@@ -1974,14 +1974,14 @@ read." |
|
|
|
;; ) |
|
|
|
|
|
|
|
;;;###autoload |
|
|
|
(defun recently-show (&optional files buffer-name) |
|
|
|
(defun recently-show (&optional buffer-name) |
|
|
|
"Show simplified list of recently opened files. |
|
|
|
If optional argument FILES is non-nil, it is a list of recently-opened |
|
|
|
files to choose from. It defaults to the whole recent list. |
|
|
|
If optional argument BUFFER-NAME is non-nil, it is a buffer name to |
|
|
|
use for the buffer. It defaults to \"*recetf-show*\"." |
|
|
|
;; If optional argument FILES is non-nil, it is a list of recently-opened |
|
|
|
;; files to choose from. It defaults to the whole recent list. |
|
|
|
(interactive) |
|
|
|
(let ((bf (recently-show--create-buffer-tabulated files buffer-name))) |
|
|
|
(let ((bf (recently-show--create-buffer-tabulated buffer-name))) |
|
|
|
(if bf |
|
|
|
(progn |
|
|
|
;; (recently-save-list) |
|
|
@@ -1993,26 +1993,21 @@ use for the buffer. It defaults to \"*recetf-show*\"." |
|
|
|
) |
|
|
|
(message "No recent file!")))) |
|
|
|
|
|
|
|
(defun recently-show--create-buffer-tabulated (&optional files buffer-name) |
|
|
|
"Create buffer listing recently files FILES." |
|
|
|
(setq files |
|
|
|
(or files |
|
|
|
(progn |
|
|
|
(recently-reload) |
|
|
|
recently-list))) |
|
|
|
(defun recently-show--create-buffer-tabulated (&optional buffer-name) |
|
|
|
"Create buffer listing recently files." |
|
|
|
(let ((bname (or buffer-name |
|
|
|
"*recently-show-tabulated*"))) |
|
|
|
(when files |
|
|
|
(when (get-buffer bname) |
|
|
|
(kill-buffer bname)) |
|
|
|
(with-current-buffer (get-buffer-create bname) |
|
|
|
;; (setq tabulated-list-sort-key (cons "Name" nil)) |
|
|
|
(recently-show--set-tabulated-list-mode-variables files) |
|
|
|
(recently-show-tabulated-mode) |
|
|
|
(current-buffer))))) |
|
|
|
|
|
|
|
(defun recently-show--set-tabulated-list-mode-variables (files) |
|
|
|
"Set variables for `tabulated-list-mode'. to use FILES." |
|
|
|
(when (get-buffer bname) |
|
|
|
(kill-buffer bname)) |
|
|
|
(with-current-buffer (get-buffer-create bname) |
|
|
|
;; (setq tabulated-list-sort-key (cons "Name" nil)) |
|
|
|
(recently-show--set-tabulated-list-mode-variables) |
|
|
|
(recently-show-tabulated-mode) |
|
|
|
(current-buffer)))) |
|
|
|
|
|
|
|
(defun recently-show--set-tabulated-list-mode-variables () |
|
|
|
"Set variables for `tabulated-list-mode'." |
|
|
|
(recently-reload) |
|
|
|
(setq tabulated-list-entries |
|
|
|
(mapcar (lambda (f) |
|
|
|
(list f |
|
|
@@ -2020,7 +2015,7 @@ use for the buffer. It defaults to \"*recetf-show*\"." |
|
|
|
(if recently-show-abbreviate |
|
|
|
(abbreviate-file-name f) |
|
|
|
f)))) |
|
|
|
files |
|
|
|
recently-list |
|
|
|
)) |
|
|
|
(let ((max |
|
|
|
(apply 'max |
|
|
@@ -2057,8 +2052,10 @@ use for the buffer. It defaults to \"*recetf-show*\"." |
|
|
|
(define-derived-mode recently-show-tabulated-mode tabulated-list-mode "Recently Show" |
|
|
|
"Major mode for browsing recently opened files and directories." |
|
|
|
(setq tabulated-list-padding 2) |
|
|
|
;; TODO: Implement revert |
|
|
|
;; (add-hook 'tabulated-list-revert-hook 'recently-reload nil t) |
|
|
|
(add-hook 'tabulated-list-revert-hook |
|
|
|
'recently-show--set-tabulated-list-mode-variables |
|
|
|
nil |
|
|
|
t) |
|
|
|
(tabulated-list-init-header) |
|
|
|
(tabulated-list-print nil nil)) |
|
|
|
|
|
|
|