]> code.delx.au - gnu-emacs-elpa/blobdiff - company-files.el
Move company-files closer to the front of company-backends
[gnu-emacs-elpa] / company-files.el
index f90f3d02b233a7956a6821fa2047c356bb833f8c..c19d3d6cbd86569d8c0676e009c4152c0fc271be 100644 (file)
@@ -31,7 +31,8 @@
 (defun company-files--directory-files (dir prefix)
   (ignore-errors
     ;; Don't use directory-files. It produces directories without trailing /.
-    (let ((comp (file-name-all-completions prefix dir)))
+    (let ((comp (sort (file-name-all-completions prefix dir)
+                      (lambda (s1 s2) (string-lessp (downcase s1) (downcase s2))))))
       (if (equal prefix "")
           (delete "../" (delete "./" comp))
         comp))))
@@ -92,8 +93,7 @@
                                                  (company-files--directory-files d "")))
                                        directories))))
         (setq company-files--completion-cache
-              (cons key (sort (append children candidates)
-                              #'string-lessp)))))
+              (cons key (append candidates children)))))
     (all-completions prefix
                      (cdr company-files--completion-cache))))
 
@@ -113,6 +113,8 @@ File paths with spaces are only supported inside strings."
     (candidates (company-files--complete arg))
     (location (cons (dired-noselect
                      (file-name-directory (directory-file-name arg))) 1))
+    (post-completion (when (company-files--trailing-slash-p arg)
+                       (delete-char -1)))
     (sorted t)
     (no-cache t)))