Doom-emacs: o candidato a snippets não está presente na empresa no modo python

Criado em 10 out. 2018  ·  3Comentários  ·  Fonte: hlissner/doom-emacs

Comportamento observado

Os candidatos do yasnippets não se apresentam no preenchimento automático da empresa.
Embora eu possa vê-los de SPC s i e usá-los bem.
o resultado de describe-variable para company backends é mostrado na imagem a seguir
snipaste_2018-10-10_17-40-07

Comportamento esperado

quando eu insiro ifm , o preenchimento automático deve apresentar candidatos de ifmain para mim.

Informação do sistema


Clique para expandir

- 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

Comentários muito úteis

Depois de verificar os códigos de destruição, descobri que o back-end da empresa foi modificado aqui: https://github.com/hlissner/doom-emacs/blob/develop/modules/lang/python/config.el#L64

Para habilitar company-yasnippet por padrão, os seguintes códigos funcionam.

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

Todos 3 comentários

Isto é esperado. A empresa usará apenas company-anaconda . (:separate company-capf company-yasnippet) é um fallback, no caso de o anaconda falhar.

Você pode acessar a conclusão do snippet por meio de C-x C-s ou alterando os back-ends do python:

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

Isso mudará os back-ends da empresa para:

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

No modo python.

só funciona para o novo buffer, o buffer existente não é afetado.
você pode ajudar com isso?

Depois de verificar os códigos de destruição, descobri que o back-end da empresa foi modificado aqui: https://github.com/hlissner/doom-emacs/blob/develop/modules/lang/python/config.el#L64

Para habilitar company-yasnippet por padrão, os seguintes códigos funcionam.

(after! anaconda-mode
  (set-company-backend! 'anaconda-mode '(company-anaconda company-yasnippet)))
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

governorgoat picture governorgoat  ·  3Comentários

Vvkmnn picture Vvkmnn  ·  3Comentários

gilbertw1 picture gilbertw1  ·  3Comentários

luisenrike picture luisenrike  ·  3Comentários

waymondo picture waymondo  ·  3Comentários