He estado actualizando la configuración de mi emacs con el uso de Rsense para permitir que aparezca un cuadro desplegable de autocompletar mientras escribo el código. Esto funciona bien en la mayoría de los archivos, excepto que he descubierto que no me permite seleccionar una respuesta de la tabla cuando estoy editando algún código en mi proyecto Ruby on Rails.Emacs Ruby autocompletar casi funcionando
Aquí está mi configuración: https://github.com/map7/simple_emacs
estoy usando este bajo Ubuntu 10.04.
Para archivos simples de script de ruby funciona muy bien. Puedo abrir un nuevo archivo y escribir.
"test".up...
Del mismo modo que escribe el carácter 'p' en una lista de opciones aparecen y que pueden subir y bajar la lista con las teclas de flecha y seleccione uno (por ejemplo: upcase) con la tecla enter.
Lo que no funciona es cuando realizo exactamente la misma prueba pero dentro del directorio base de un proyecto de rieles.
Actualización:
encontró que el problema está en los carriles (require '), por lo que algo en el emacs-carriles plugin que la función de autocompletar no le gusta.
Actualización:
Es dentro de emacs-carriles -> carriles-project.el. Si comento esta macro a cabo trabajos de autocompletar a continuación, de lo contrario no lo hace:
(defmacro* rails-project:with-root ((root) &body body)
"If you use `rails-project:root' or functions related on it
several times in a block of code, you can optimize your code by
using this macro. Also, blocks of code will be executed only if
rails-root exist.
(rails-project:with-root (root)
(foo root)
(bar (rails-core:file \"some/path\")))
"
`(let ((,root (rails-project:root)))
(when ,root
(flet ((rails-project:root() ,root))
,@body))))
Puede alguien explicar por qué esto rompe autocompletar?
¿Dónde se usa? – milkypostman
La función de autocompletar se usa en ruby, C++, lisp y todo – map7
quiero decir, ¿dónde se usa aquí la macro? – milkypostman