From d2269a13c3b635c1a5ac96bbc6284feb71021214 Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Mon, 26 May 2014 21:39:23 +0300 Subject: [PATCH] company-files-complete: move files in subdirs to the end #116 --- company-files.el | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/company-files.el b/company-files.el index a839f799e..3dc4d867f 100644 --- a/company-files.el +++ b/company-files.el @@ -59,17 +59,19 @@ (defun company-files-complete (prefix) (let* ((dir (file-name-directory prefix)) (file (file-name-nondirectory prefix)) - candidates) + candidates directories) (unless (equal dir (car company-files-completion-cache)) (dolist (file (company-files-directory-files dir file)) (setq file (concat dir file)) (push file candidates) (when (file-directory-p file) - ;; Add one level of children. - (dolist (child (company-files-directory-files file "")) - (push (concat file - (unless (eq (aref file (1- (length file))) ?/) "/") - child) candidates)))) + (push file directories))) + (dolist (directory (reverse directories)) + ;; Add one level of children. + (dolist (child (company-files-directory-files directory "")) + (push (concat directory + (unless (eq (aref directory (1- (length directory))) ?/) "/") + child) candidates))) (setq company-files-completion-cache (cons dir (nreverse candidates)))) (all-completions prefix (cdr company-files-completion-cache)))) -- 2.39.2