]> code.delx.au - gnu-emacs-elpa/commitdiff
company-files: Skip disconnected remote completions for "/xyz"
authorDmitry Gutov <dgutov@yandex.ru>
Mon, 4 May 2015 01:54:36 +0000 (04:54 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Mon, 4 May 2015 01:54:36 +0000 (04:54 +0300)
Fixes #347

company-files.el

index e44b4f5bd4f550215ba8ef68a3016026e6cf68d1..200f9cf3bd8758299bb8110a5042a42b5c3131bb 100644 (file)
     (and (cl-dolist (regexp company-files--regexps)
            (when (setq file (company-grab-line regexp 1))
              (cl-return file)))
-         (or (not (file-remote-p file))
-             (file-remote-p file nil t))
+         (company-files--connected-p file)
          (setq dir (file-name-directory file))
          (not (string-match "//" dir))
          (file-exists-p dir)
          (file-name-all-completions (file-name-nondirectory file) dir)
          file)))
 
+(defun company-files--connected-p (file)
+  (or (not (file-remote-p file))
+      (file-remote-p file nil t)))
+
 (defvar company-files--completion-cache nil)
 
 (defun company-files--complete (prefix)
     (unless (company-file--keys-match-p key (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)
-          (push file directories)))
+        (when (company-files--connected-p file)
+          (push file candidates)
+          (when (file-directory-p file)
+            (push file directories))))
       (dolist (directory (reverse directories))
         ;; Add one level of children.
         (dolist (child (company-files--directory-files directory ""))