Estou atualizando todas as minhas chamadas de pacote de uso agora que :idle
não são mais uma maneira decente de adiar coisas. No momento, um dos maiores hits do meu tempo de carregamento é o elpy
carregamento de vários módulos adicionais. No momento, minha invocação é bastante básica:
(use-package elpy
:commands elpy-enable
:init (elpy-enable)
:config
(progn
(setq elpy-rpc-backend "jedi"
elpy-rpc-project-specific 't)
(when (fboundp 'flycheck-mode)
(setq elpy-modules (delete 'elpy-module-flymake elpy-modules)))))
No entanto, isso é um desperdício se eu nunca estiver editando nenhum módulo python. O problema é que elpy é uma coleção de modos, então não posso simplesmente usar o formulário de ligação de modo, pois elpy-enable
precisa ser chamado. Então, qual abordagem devo usar. É apenas um caso de acionamento no gancho do modo python?
use-package
elpy
stsquad
fonte
fonte
:idle
pode ser substituído por algo como:defer 30
onde o número é o atraso em segundos após o qual o pacote deve ser carregado.Respostas:
Não conheço Elpy, por isso não tenho certeza se entendi seu problema corretamente. Eu sei
use-package
, porém, e recentemente sofri do mesmo problema, a saber, a remoção de:idle
.Basicamente, existem duas maneiras, dependendo de como você precisa usar o Elpy. Você pode usar um homem pobre
:idle
, comrun-with-idle-timer
, por exemploComo alternativa, você pode confiar na boa idade
with-eval-after-load
ou usarpython-mode-hook
e atrasar o Elpy até que o Modo Python seja carregado ou ativado, respectivamente:fonte
:commands elpy-enable
para fazê-lo funcionar.:init (with-eval-after-load 'python (elpy-enable)) :commands elpy-enable
O autor de elpy sugere fazer isso por meio de um conselho, porque
elpy-enable
modifica apython-mode-hook
variável, portanto, chamá-la dentro do gancho de modo é muito tarde: https://github.com/jorgenschaefer/elpy/wiki/Configurationabordagem simples:
usando
use-package
:fonte
README.rst
, mas não no primeiro e mais óbvio local: a seção de instalação da documentação . Eu relatei isso na edição # 1606 .Eu acho que é possível com: depois
fonte
:defer
se você já usa:mode
. github.com/jwiegley/use-package#notes-about-lazy-loading