Lubię tworzyć Scala w Emacs i od czasu do czasu używam REPL do testowania fragmentów kodu lub ładowania i testowania kodu, który właśnie napisałem. Używam Scala 2.9.1, i zauważyłem, że kiedy otwieram REPL w buforze terminala, rzeczy są zasadniczo zepsute. W szczególności nie mogę usunąć żadnych znaków z bieżącego wiersza i nie mogę przesunąć kursora w tył w bieżącej linii. Jest to bardzo frustrujące, ponieważ w każdym momencie, kiedy coś mylę, muszę zacząć od nowa. Zastanawiam się, czy ktokolwiek inny ma ten problem używając Scala REPL pod Emacsem i czy ktoś ma potencjalne rozwiązanie.Scala REPL w Emacs
Odpowiedz
Uważam, że rlwrap (readline wrapper) dobrze gra z ansi-term i scala emacsa. Po prostu zadzwoń "rlwrap scala", a będziesz miał normalną edycję linii bash, a także historię, działającą poprawnie. Jako bonus, twoja historia obejmuje wiele inwokacji scala, więc nie stracisz wszystkiego, co wpisałeś po wyjściu ze Scala REPL.
Jeśli rlwrap nie działa dla ciebie, po prostu przejście do trybu liniowego w ansi-term (domyślnie Cx Cj) pozwoli ci na edycję w stylu emacs na linii, ale bez elementów powłoki takich jak historia i ukończenie.
Już wspomniano o Ensime, więc dodam tylko, że jest to doskonała opcja, jeśli nie masz nic przeciwko temu, co się dzieje.
Dzięki za cynk. Wydaje mi się, że działa to całkiem dobrze. W rzeczywistości lubię podejście rlwrap w stosunku do podejścia Ensime, ponieważ daje mi historię poleceń. Obecnie jedynym ograniczeniem do wywoływania REPL przez Emacs przy użyciu metody rlwrap jest niemożność użycia funkcji uzupełniania tabulatorów. – nomad
W jaki sposób zdobyliście TUZ w REPL poprzez emacs? – CodeKingPlusPlus
Możesz zainstalować ENSIME i follow instructions. Nie wiem o twoim sposobie wywoływania REPL, ale REPL dzwoni z ENSIME działa (pozwala przesuwać kursor do tyłu i kasować symbole, sprawdziłem).
Dzięki za cynk. Wygląda na to, że wywołanie REPL z Ensime rozwiązuje ten problem, ale wprowadza kilka innych. W szczególności, REPL wywołany przez Ensime nie ma historii poleceń i nie wydaje się być zdolny do wykonania tab. – nomad
+1 dla ENSIME, ENSIME jest cool –
- 1. Scala - Inicjowanie środowiska REPL
- 2. Jak wyczyścić wszystkie zmienne w Scala REPL
- 3. Różnica między Scala REPL i Clojure REPL - kompilacja prędkość
- 4. Jaka jest różnica między Clojure REPL i Scala REPL?
- 5. Emacs Lisp: Jak, interaktywny bufor z REPL?
- 6. Scala REPL: Jak dodać zdalne repozytorium Maven do ścieżki klas REPL Scala?
- 7. Czy można zmienić program Scala REPL programowo?
- 8. udało się utworzonego JLineReader (Scala REPL)
- 9. Scala REPL: Jak znaleźć typ funkcji?
- 10. Embedded Scala Przykład tłumacza REPL dla 2.10
- 11. Jak mogę uzyskać dostęp do ostatniego wyniku w Scala REPL?
- 12. Jakie polecenie użyć do introspekcji instancji w scala REPL?
- 13. Skrót do zatrzymania REPL?
- 14. Czy istnieje plik konfiguracyjny dla konsoli Scala REPL/SBT?
- 15. Jak mogę uzyskać Scala ToolBox, aby zobaczyć definicje REPL?
- 16. Co to jest wypełnienie karty Scala REPL, mówiąc mi tutaj?
- 17. Scala interactive interpreter (REPL) - jak przekierować wyjście do pliku tekstowego?
- 18. Emacs scala-mode newline-and-indent niesamowitość
- 19. Dokumentacja Clojure w Emacs
- 20. Co tak naprawdę dzieje się za środowiskiem uruchomieniowym Scala/REPL podczas uruchamiania programu ".scala"?
- 21. Dlaczego swank-js daje mi "dokument nie jest zdefiniowany" w REPL? Emacs?
- 22. SLIME na Emacs z paredem w repl - jak zapobiec wykonaniu niekompletnych, ale wyważonych wyrażeń?
- 23. Używanie Node.js z JS-comint w Emacs
- 24. Drukowanie tekstu UTF-8 w szlamie REPL
- 25. Użyj repliki dla Hy w Emacs
- 26. Emacs uruchomić javascript?
- 27. Is java.lang.OutOfMemoryError: Metaspace normal in sbt REPL?
- 28. Scala podkreśla w nazwach
- 29. Actionscript 3 REPL
- 30. Czy mogę utworzyć działający wątek w Slime (Swank Emacs)?
W jaki sposób uruchamiasz program REPL w Emacs? – leedm777
Otwieram nowy bufor z ansi-term. Następnie, w tym buforze terminala, uruchamiam REPL przez wywołanie "scala" bezpośrednio lub za pomocą konsoli sbt. Tak czy inaczej, ten problem wydaje się występować. – nomad
Możesz mieć więcej szczęścia, otwierając nowy bufor z powłoką i uruchamiając scala lub sbt z powłoki. – leedm777