Doom-emacs: El candidato de fragmentos no está presente en la empresa en modo python

Creado en 10 oct. 2018  ·  3Comentarios  ·  Fuente: hlissner/doom-emacs

Comportamiento observado

Los candidatos de yasnippets no se presentan en el autocompletado de la empresa.
Aunque puedo verlos desde SPC s i y gastarlos muy bien.
el resultado de describe-variable para company backends se muestra en la siguiente captura de pantalla
snipaste_2018-10-10_17-40-07

Comportamiento esperado

cuando ingreso ifm , autocompletar debería presentar candidatos de ifmain para mí.

Información del sistema


Haga clic para ampliar

- OS: darwin (x86_64-apple-darwin14.5.0)
- Emacs: 26.1 (May 31, 2018)
- Doom: 2.0.9 (develop cdf745e72a3e8bf9bef1f0fa4d051b00aab351e3)
- Graphic display: nil (daemon: nil)
- System features: NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS
- Details:
  ```elisp
  elc count: 0
  uname -a:  Darwin machw 18.0.0 Darwin Kernel Version 18.0.0: Wed Aug 22 20:13:40 PDT 2018; root:xnu-4903.201.2~1/RELEASE_X86_64 x86_64 i386 MacBookPro10,1 Darwin
  modules:   (:feature (evil +everywhere) file-templates (lookup +docsets) snippets spellcheck (syntax-checker +childframe) workspaces :completion (helm +fuzzy) :ui doom-dashboard doom-modeline doom-quit evil-goggles fci hl-todo nav-flash treemacs (popup +all +defaults) unicode vc-gutter vi-tilde-fringe window-select :editor rotate-text :emacs ediff electric hideshow imenu vc :tools magit :lang emacs-lisp markdown (org +attach +babel +capture +export +present) python rust (sh +fish) :config)
  packages:  n/a
  exec-path: (/usr/local/opt/coreutils/libexec/gnubin /usr/local/opt/python/libexec/bin /usr/local/bin /usr/local/sbin /usr/bin /bin /usr/sbin /sbin ~/.cargo/bin ~/bin /usr/local/opt/fzf/bin /Applications/Emacs.app/Contents/MacOS/bin-x86_64-10_10 /Applications/Emacs.app/Contents/MacOS/libexec-x86_64-10_10 /Applications/Emacs.app/Contents/MacOS/libexec /Applications/Emacs.app/Contents/MacOS/bin)
  ```

:completion company :editor snippets :lang python question elisp resolved-elsewhere

Comentario más útil

Después de verificar los códigos de fatalidad, encuentro que el backend de la compañía se modifica aquí: https://github.com/hlissner/doom-emacs/blob/develop/modules/lang/python/config.el#L64

Para habilitar company-yasnippet de forma predeterminada, funcionan los siguientes códigos.

(after! anaconda-mode
  (set-company-backend! 'anaconda-mode '(company-anaconda company-yasnippet)))

Todos 3 comentarios

Esto es de esperar. La empresa solo utilizará company-anaconda . (:separate company-capf company-yasnippet) es una alternativa, en caso de que anaconda falle.

Puede acceder a la finalización del fragmento a través de C-x C-s , o cambiando los backends de Python:

(set-company-backend! 'anaconda-mode '(company-anaconda company-yasnippet))

Esto cambiará los backends de la empresa para que sean:

((company-anaconda company-yasnippet)
 (:separate company-capf company-yasnippet)
 company-capf)

En modo python.

solo funciona para un búfer nuevo, el búfer existente no se ve afectado.
¿Me puedes ayudar con esto?

Después de verificar los códigos de fatalidad, encuentro que el backend de la compañía se modifica aquí: https://github.com/hlissner/doom-emacs/blob/develop/modules/lang/python/config.el#L64

Para habilitar company-yasnippet de forma predeterminada, funcionan los siguientes códigos.

(after! anaconda-mode
  (set-company-backend! 'anaconda-mode '(company-anaconda company-yasnippet)))
¿Fue útil esta página
0 / 5 - 0 calificaciones