completion – Hacer que la empresa muestre sugerencias para los nombres de Yasnippet

Pregunta:

Utilizo los paquetes Modo Empresa y Yasnippet. Cuando escribo en un búfer, recibo sugerencias de autocompletado de la empresa.

Para Yasnippet, tengo un directorio que contiene los fragmentos. En ese directorio tengo, por ejemplo, el archivo foo.yasnippet .

Cuando estoy escribiendo foo en el buffer y presione Tab, aparece un menú emergente para yasnippets, que Chan elegir qué fragmento de código ( foo o foo-bar ) Quiero insertar. Me gustaría integrar el yasnippet foo en la finalización de la empresa. Cuando foo , me gustaría ver el fragmento en la ventana emergente de finalización de la empresa.

es posible? Si es así, ¿cómo podría lograrlo? En Vim tienes eso con Neocomplete y VimSnippets. Cuando busqué en Google, encontré este enlace con Elisp pero no pude entender cómo aplicarlo.

¿Alguna sugerencia?

Respuesta:

Tengo el siguiente fragmento en mi configuración y parece que es exactamente lo que quieres:

;; Add yasnippet support for all company backends
;; https://github.com/syl20bnr/spacemacs/pull/179
(defvar company-mode/enable-yas t
  "Enable yasnippet for all backends.")

(defun company-mode/backend-with-yas (backend)
  (if (or (not company-mode/enable-yas) (and (listp backend) (member 'company-yasnippet backend)))
      backend
    (append (if (consp backend) backend (list backend))
            '(:with company-yasnippet))))

(setq company-backends (mapcar #'company-mode/backend-with-yas company-backends))

Básicamente, configura el backend de yasnippet con todos los demás backend que haya activado, por lo que obtiene la finalización adecuada para el backend correspondiente, así como sus fragmentos.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım