:type 'bool
:group 'selector)
+(defcustom selector/add-to-file-name-history t
+ "If non-nil, file selected with selector/quick-pick-recent will be added to the mini-buffer filename history."
+ :type 'bool
+ :group 'selector)
+
(defcustom selector/mode-hook nil
"Hook called at the end of the selector mode initialization."
:type 'hook
(if (file-remote-p s)
" "
(propertize
- (format-time-string "%a %b %e" (elt (file-attributes s) 5))
+ (format-time-string "%b %a %e" (elt (file-attributes s) 5))
'face 'selector/date))
- " -- "
+ ;; " -- "
+
+ " "
(if (string-match abbreviated-home-dir s)
(concat (propertize
(substring s 0 (match-end 0)) 'face 'selector/dim)
(substring s (match-end 0)))
s)
+
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ ;; (if (and (boundp 'selector/previous-filename) selector/previous-filename)
+ ;; (let ((l (abs (compare-strings
+ ;; selector/previous-filename nil nil
+ ;; filename nil nil))))
+ ;; ;; (if (> l 0) (setq l
+ ;; (setq selector/previous-filename filename)
+ ;; (concat (propertize
+ ;; (substring s 0 l) 'face 'selector/dim)
+ ;; (substring s l))
+ ;; )
+ ;; filename
+ ;; )
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
)
)
(defun selector/find-file (filename)
+ (if selector/add-to-file-name-history
+ (add-to-history 'file-name-history
+ (replace-regexp-in-string
+ abbreviated-home-dir "~/" filename)
+ )
+ )
+
+ (find-file filename))
+
+(defun selector/pick-file (filename)
"Callback function for `selector/quick-pick-recent'. When
called with a universal argument, allows the user to edit the
filename."
(interactive)
(if current-prefix-arg
- (find-file (read-file-name
- "Find file: "
- (file-name-directory filename)
- nil
- nil
- (file-name-nondirectory filename)))
- (find-file filename)))
+ (selector/find-file (read-file-name
+ "Find file: "
+ (file-name-directory filename)
+ nil
+ nil
+ (file-name-nondirectory filename)))
+ (selector/find-file filename)))
(defun selector/quick-pick-recent ()
"Open a file picked in `recentf-list' with the dynamic
(unless (and (boundp recentf-mode) recentf-mode)
(error "recentf mode must be turned on"))
+ ;; (setq selector/previous-filename "")
+
(selector/select
(mapcar
(cons (selector/filename-to-string s) s))
recentf-list)
- 'selector/find-file
+ 'selector/pick-file
"*selector find-file*"
))