Ho aggiornato la configurazione di emacs con l'utilizzo di Rsense per consentire la visualizzazione di una casella di riepilogo a discesa automatica durante la digitazione del codice. Funziona bene nella maggior parte dei file tranne che ho trovato che non mi permette di selezionare una risposta dal tavolo quando sto modificando del codice nel mio progetto ruby on rails.Autocompilazione di Emacs Ruby quasi funzionante
Qui è la mia messa a punto: https://github.com/map7/simple_emacs
sto usando questo sotto Ubuntu 10.04.
Per semplici file di script ruby funziona benissimo. Posso aprire un nuovo file e digitare.
"test".up...
Proprio mentre sto scrivendo il carattere 'p' in un elenco di opzioni appaiono e posso andare su e giù l'elenco con i tasti freccia e selezionare uno (ad esempio: upcase) con il tasto Invio.
Ciò che non funziona è quando eseguo lo stesso test ma all'interno della directory di base di un progetto di rotaie.
Aggiornamento:
hanno scoperto che il problema è con (require 'rotaie), quindi è qualcosa nei emacs-rails plugin che il completamento automatico non piace.
Aggiornamento:
E 'all'interno di emacs-rails -> binari-project.el. Se io commento questa macro di lavori di completamento automatico, allora, in caso contrario non è così:
(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))))
Qualcuno può spiegare perché questo rompe completamento automatico?
dove viene utilizzato? – milkypostman
La funzione di completamento automatico viene utilizzata in ruby, C++, lisp e tutto ciò che intendiamo – map7
, dove viene utilizzata la macro qui? – milkypostman