Como @Jesse ya señaló, lo que quieres aquí es el company-files
backend. Hay varias formas diferentes de usarlo:
Ate una tecla para llamar company-files
directamente.
Usa el comando company-begin-backend
. Esto le solicita que utilice el backend y luego le ofrece candidatos para completar.
Use company-other-backend
para rotar a través de la lista de backends (vea el siguiente elemento). Esto se puede usar para activar la finalización o se puede usar después de que se haya activado el modo de empresa para cambiar a un conjunto diferente de candidatos de finalización. Es posible que desee asignar un enlace de clave en el mapa de la empresa, por ejemplo(define-key company-active-map (kbd "C-e") #'company-other-backend)
Configura la variable company-backends
. El modo de empresa recorre esta lista para encontrar un servidor que acepte el prefijo actual (es decir, el texto anterior al punto). Es completamente posible tener un back-end en la lista que acepte el prefijo actual pero no ofrezca candidatos de finalización, momento en el cual el modo de empresa no completará automáticamente nada. Puede personalizar la lista para ordenar los backends de una manera que satisfaga sus necesidades.
Algunos ejemplos de modificación company-backends
:
Si solo quisiera completar nombres de archivo, podría hacer que su único backend:
(setq company-backends '(company-files))
Parece poco probable, por lo que es mejor que coloque primero su backend más comúnmente usado y luego use una de las opciones mencionadas anteriormente para cambiar backends o invocar una por nombre cuando necesite otra cosa.
También puede configurar un backend de 'grupo' que crea un conjunto combinado de candidatos de finalización. Prueba esto, por ejemplo:
(setq company-backends '((company-capf company-dabbrev-code company-files)))
Esto especifica un único backend que combina los candidatos de otros tres backends. Le dará resultados de finalización en el punto, dabbrev y el sistema de archivos.
Puede usar los ganchos de modo para especificar un conjunto diferente de backends para diferentes modos principales. Por ejemplo:
(add-hook 'org-mode-hook
(lambda ()
(setq-local company-backends '((company-files company-dabbrev)))))
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(setq-local company-backends '((company-capf company-dabbrev-code)))))