X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/6e73bbb5f19c513fd4301b7f11016d86bcad2056..2d44e7fef7e7388759518cba1a424495119679d1:/packages/company/company-files.el diff --git a/packages/company/company-files.el b/packages/company/company-files.el index a839f799e..3dc4d867f 100644 --- a/packages/company/company-files.el +++ b/packages/company/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))))