Cuando no hay soporte específico para un idioma, puede usar las etiquetas . Este es un mecanismo de finalización genérico.
generar un archivo TAGS
, que contiene una lista de identificadores y donde se define. Emacs viene con el programa etags
para hacer esto en muchos idiomas, pero no en Haskell; ghc viene con hasktags
.
Cargue el archivo TAGS
con M-x visit-tags-table
.
Las etiquetas no dependen del contexto, por lo que indistintamente sugieren tipos, valores, constructores, etc. en todas partes. Tampoco proporcionarán funciones avanzadas, como mostrar fácilmente el tipo de valor. Los comandos de etiquetas más importantes son:
M-TAB
(complete-symbol
) completa un identificador de acuerdo con la lista cargada de etiquetas.
(find-tag
) va al lugar donde se define el identificador en el punto, abriendo el archivo contenedor si es necesario.
M-*
(pop-tag-mark
) vuelve donde estaba antes de M-.
.
M-x tags-apropos
muestra una lista de identificadores que coinciden con una expresión regular.
Para obtener más información, consulte "Etiquetas" en el manual de Emacs.
Para un mecanismo aún más cruda, pero totalmente automático, no es la característica dinámico abbrev. C-M-/
(dabbrev-completion
) busca en la mayoría de los buffers abiertos una finalización; esto es completamente independiente del lenguaje, por lo que incluso encontrará palabras en cadenas, comentarios, lo que sea. M-/
(dabbrev-expand
) es similar, pero se completa directamente con la coincidencia más cercana antes del punto.
¿Sabe cómo ha ido progresando el trabajo en CEDET para Haskell? –