[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 4898a5e 272/399: counsel.el (counsel-compile): better hand
From: |
Oleh Krehel |
Subject: |
[elpa] master 4898a5e 272/399: counsel.el (counsel-compile): better handling for counsel--get-build-subdirs |
Date: |
Sat, 20 Jul 2019 14:57:38 -0400 (EDT) |
branch: master
commit 4898a5e5b89d69ae1ecc5202771ba36fd32c08f6
Author: Alex Bennée <address@hidden>
Commit: Oleh Krehel <address@hidden>
counsel.el (counsel-compile): better handling for counsel--get-build-subdirs
It is possible the user might actually just have a single build
directory rather than a hierarchy. We can handle this case by simply
adding the probed directory to the list if we detect any non-directory
files in the directory. While we are at it we shouldn't be returning
any non-directories so filter those out.
---
counsel.el | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/counsel.el b/counsel.el
index 660a749..4f81731 100644
--- a/counsel.el
+++ b/counsel.el
@@ -5418,11 +5418,23 @@ subdirectories that builds may be invoked in."
counsel-compile-build-directories))
(defun counsel--get-build-subdirs (blddir)
- "Return all subdirs of BLDDIR sorted by modification time."
- (mapcar #'car (sort (directory-files-and-attributes
- blddir t directory-files-no-dot-files-regexp t)
- (lambda (x y)
- (time-less-p (nth 6 y) (nth 6 x))))))
+ "Return all subdirs under BLDDIR sorted by modification time.
+If there are non-directory files in BLDDIR we also return BLDDIR in
+ the list as it may also be a build directory."
+ (let* ((files (directory-files-and-attributes
+ blddir t directory-files-no-dot-files-regexp t))
+ (filtered-files (cl-remove-if
+ (lambda (f) (not (nth 1 f)))
+ files)))
+ ;; any non-dir files?
+ (when (< (length filtered-files)
+ (length files))
+ (push (cons blddir (file-attributes blddir))
+ filtered-files))
+ (mapcar #'car
+ (sort filtered-files
+ (lambda (x y)
+ (time-less-p (nth 6 y) (nth 6 x)))))))
(defun counsel-compile-get-build-directories (&optional dir)
"Return a list of potential build directories."
- [elpa] master 77a5ffc 261/399: counsel.el (counsel-package-history): New history variable, (continued)
- [elpa] master 77a5ffc 261/399: counsel.el (counsel-package-history): New history variable, Oleh Krehel, 2019/07/20
- [elpa] master d5c9673 265/399: swiper.el (swiper--isearch-format): Fix permanent face modifications, Oleh Krehel, 2019/07/20
- [elpa] master 2c57036 263/399: ivy.el (ivy-call): Modify the API for ivy-action second arg, Oleh Krehel, 2019/07/20
- [elpa] master bea44b7 264/399: counsel.el: Fix compiler warnings, Oleh Krehel, 2019/07/20
- [elpa] master a2af29b 271/399: ivy.el (ivy--occur-insert-lines): Fix missing line numbers, Oleh Krehel, 2019/07/20
- [elpa] master 9a9e3e4 251/399: ivy-test.el (swiper--isearch-format): Add test, Oleh Krehel, 2019/07/20
- [elpa] master 76ef143 258/399: swiper.el (swiper-isearch): Fix ivy-occur, Oleh Krehel, 2019/07/20
- [elpa] master c6977eb 266/399: ivy.el (ivy-read): Add :multi-action arg, Oleh Krehel, 2019/07/20
- [elpa] master df0d980 267/399: Modify counsel-unicode-char's copy action to use actual result, Oleh Krehel, 2019/07/20
- [elpa] master 19ff7cf 270/399: counsel.el (counsel-register-action): Tweak error, Oleh Krehel, 2019/07/20
- [elpa] master 4898a5e 272/399: counsel.el (counsel-compile): better handling for counsel--get-build-subdirs,
Oleh Krehel <=
- [elpa] master e95a16b 275/399: Shrink ivy window after read action., Oleh Krehel, 2019/07/20
- [elpa] master 226171b 268/399: ivy.el (ivy--occur-insert-lines): Don't highlight the file name part, Oleh Krehel, 2019/07/20
- [elpa] master e8f9370 273/399: counsel.el (counsel-compile): nreverse recent history, Oleh Krehel, 2019/07/20
- [elpa] master b65cdb5 274/399: counsel.el (counsel-compile): track build dir for the benefit of M-i, Oleh Krehel, 2019/07/20
- [elpa] master a18de2f 269/399: counsel.el (counsel-register): Add, Oleh Krehel, 2019/07/20
- [elpa] master fbf654c 276/399: counsel.el (counsel-company): Rely on company-prefix if company-common is nil, Oleh Krehel, 2019/07/20
- [elpa] master 2410219 284/399: swiper.el (swiper-isearch-highlight-delay): New defcustom, Oleh Krehel, 2019/07/20
- [elpa] master bc2dcbe 279/399: counsel.el (counsel--find-build-subdir): Simplify, Oleh Krehel, 2019/07/20
- [elpa] master 13da38a 287/399: ivy.el (ivy-help): Hide Org markup buffer-locally, Oleh Krehel, 2019/07/20
- [elpa] master 0134255 281/399: ivy.el (ivy--highlight-default): Use single face for adjacent groups, Oleh Krehel, 2019/07/20