Можно сохранять диффы и восстанавливать свёрткой с глубоким мержем
clojure.data/diff
Хочу перейти на clj/deps.edn полностью с lein, но как насчет интеграции с emacs/cider? cider-jack-in не подтягивает зависимости. Как вариант можно запускать clj, а оттуда уже nrepl поднимать. Кто как делает?
Все он подтягивает.
оу, cider у меня от 2016 года, это все объясняет, сорян 🙂
))
Там Божидар сейчас много чего интересного запил. Может будет больно обновляться
да я с 2016 года кложуру и не трогал, так что по сути с чистого листа
@roman01la Это брутфорс, да. Такое можно делать даже в языках без персистентных структур данных. Хочется чего-то умнее.
Может кто подскажет - юзаю в репле внешний JAR который иногда меняется. Если сделать cider-restart
в репле то изменения не видны. Если убить репл и сделать опять cider-jack-in
то все ок. Может есть какая команда еще для этого? А то муторно по сто раз так делать на дню
@artem.yarulin Но как? При старте JVM формируется classpath, JVM открывает его и загружает оттуда классы.
Ага, это я прочитал, но я думал что cider-restart как раз для такого и есть? Чтоб все убить и опять стартануть?
т.е. переформулирую - есть-ли возможность из cider убить JVM процесс репла и стартануть его опять?
cider-restart
рестартит только Emacs-часть.
Ничего навскидку не нашлось.
там есть у ztellman какая то штука релодить
забыл как называется но я ее прикручивал кажется сто лет назад
да
Да, почти то, что надо.
Лучше, чем рестартить REPL 🙂
ну тут для сорцов правда
подождите ну clj-refactor умеет пожгружать jar
Да, можно играться с класслоадерами.
как он это делает я тоже не помню
И ловить баги от того, что в репле три объекта одного и того же класса разных версий 🙂
https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-hotload-dependency
https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-add-project-dependency
во, вроде оно дак )
вот это
Сча попробую, спасибо
Хм
хе, 23 дня назад убрали https://github.com/clojure-emacs/clj-refactor.el/commit/541e8272b0dac1007609bc7ff838cbb4626a8904. Попробую откатиться
Чота не получилось, сделал по тупому
(defun restart-repl ()
(interactive)
(cider-quit)
(cider-jack-in-clj `(:project-dir "/Path/To/Project")))
Мы тут с ребятами немного причесали библиотеку @nicola. Во внутренних проектах она используется в основном для написания тестов, иногда для простой валидации. В проде живёт пару лет, впечатления положительные. Либа может оказаться интересна сообществу и сильно упростить некоторым людям жизнь : ) https://github.com/HealthSamurai/matcho Буду рад услышать комментарии и пожелания как по коду, так и по документации и вдвойне рад увидеть issue или PR 😃