Como posso impedir que o modo empresa complete números?

7

No modo organizacional, quando digito alguns números, a empresa sempre exibe a conclusão do número, como:

20
20001 ----------- 1
200111 ---------- 2

Esses números vêm dos meus arquivos de modo organizacional.

Gostaria de desativar a conclusão do número da empresa. Como posso fazer isso?

Leu_Grady
fonte

Respostas:

4

Provavelmente isso está vindo do backend do dabbrev. Você pode removê-lo assim:

(delete 'company-dabbrev company-backends)
Ista
fonte
8

Isso pode ser resolvido modificando os transformadores da empresa com o seguinte código:

(push (apply-partially #'cl-remove-if
                      (lambda (c)
                        (or (string-match-p "[^\x00-\x7F]+" c)
                            (string-match-p "[0-9]+" c)
                            (if (equal major-mode "org")
                                (>= (length c) 15)))))
             company-transformers)

Com este código:

  1. remova os candidatos não ANSII.
  2. remova qualquer conclusão que contenha números.
  3. remova qualquer candidato com mais de 15 anos no modo organizacional.

Todos os tipos de coisas podem ser personalizados.

Espero que isto ajude!

Leu_Grady
fonte
Embora essa resposta seja boa, acho que compartilhar trechos do emacs é muito mais fácil se eles fizerem uma coisa, e especificamente a única coisa solicitada. Eu provavelmente poderia remover todo o código que eu não preciso, mas como alguém que não é proficiente em e não se importa muito para elisp compartilhar um método mais limpo recudes a complexidade dos meus .emacs muito
rien333
-1

Você pode definir company-dabbrev-other-bufferscomo nil, para que a empresa pesquise apenas no buffer ativo:

(setq company-dabbrev-other-buffers nil)
Pedro
fonte