¿Cómo puedo evitar que la empresa complete números?

7

En el modo org, cuando escribo algunos números, la compañía siempre muestra la finalización del número como:

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

Estos números provienen de mis archivos de modo org.

Me gustaría desactivar la finalización del número de empresa. ¿Cómo puedo hacer esto?

Leu_Grady
fuente

Respuestas:

4

Esto probablemente proviene del back end de dabbrev. Puedes eliminarlo así:

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

Esto se puede resolver modificando los transformadores de la compañía con el siguiente 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)

Con este código:

  1. eliminar a aquellos candidatos que no sean ANSII.
  2. eliminar cualquier terminación que contenga números.
  3. eliminar cualquier candidato que sea más largo que 15 en el modo org.

Todo tipo de cosas se pueden personalizar.

¡Espero que esto ayude!

Leu_Grady
fuente
Aunque esta respuesta es buena, creo que compartir fragmentos de emacs es mucho más fácil si solo hacen una cosa, y específicamente lo que se pide. Probablemente podría eliminar todo el código que no necesito, sino como alguien que no es competente en y no se preocupa tanto por elisp compartir un método más limpio recudes la complejidad de mis .emacs en gran medida
rien333
-1

Puede configurarlo company-dabbrev-other-bufferspara nilque la compañía solo busque en el búfer activo:

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