clojure-russia 2018-08-17

Можно сохранять диффы и восстанавливать свёрткой с глубоким мержем

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

Да, можно играться с класслоадерами.

как он это делает я тоже не помню

И ловить баги от того, что в репле три объекта одного и того же класса разных версий 🙂

во, вроде оно дак )

Сча попробую, спасибо

хе, 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")))

1

Мы тут с ребятами немного причесали библиотеку @nicola. Во внутренних проектах она используется в основном для написания тестов, иногда для простой валидации. В проде живёт пару лет, впечатления положительные. Либа может оказаться интересна сообществу и сильно упростить некоторым людям жизнь : ) https://github.com/HealthSamurai/matcho Буду рад услышать комментарии и пожелания как по коду, так и по документации и вдвойне рад увидеть issue или PR 😃

👍 6
🖖 1