2012-09-09 8 views
11

Podczas korzystania z leiningen REPL, istnieje sposób na automatyczne ponowne załadowanie pliku lub ns w kopii zapasowej pliku. Obecnie ponownie ładuję pliki ns, wpisując w repl - (use 'sample.ns :reload-all).Jak szybko ponownie załadować przestrzeń nazw na zapisywanie plików w Leiningen REPL

Jednak czy mogę go ponownie załadować automatycznie po zapisaniu pliku?

+3

Czy używasz emacs? Bo jeśli tak, jest to obsługiwana funkcja slime/swank: http://stackoverflow.com/questions/2596222/how-to-reload-files-upon-save-when-using-swankleiningenemacs – noahlz

Odpowiedz

0

Clojure-Watch biblioteka robi to, czego potrzebujesz. Obserwuje plik i wykonuje pewną akcję. W twoim przypadku akcja polegałaby na przeładowaniu przestrzeni nazw z tego pliku. Ponadto wymaga napisania początkowego kodu uruchamiającego obserwatora.

Ten sposób wydaje mi się nieco skomplikowany. Zwykły REPL uruchomiony bezpośrednio z Lein nie jest skutecznym sposobem na rozwój. Lepiej użyć edytora przyjaznego Clojure, takiego jak Emacs lub Lightable.

0

Większość głównych edytorów obsługuje niestandardowe powiązania skrótów i posiada wtyczkę Clojure, która umożliwia połączenie z aktywnym REPL przez sieć (przez "nREPL"). Osobiście używam vima i dlatego używam do tego celu vim-fireplace.

Oznacza to, że możesz mieć niestandardowy klawisz skrótu do ponownego wczytania dowolnego pliku edytowanego podczas edycji. Odtąd zwykle proste jest dodanie niestandardowego haka do zapisywania, który wykonuje ponowne ładowanie.

Powiązane problemy