Fork me on GitHub
#clojure-russia
<
2018-08-17
>
Roman Liutikov00:08:18

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

Roman Liutikov00:08:04

clojure.data/diff

Artem Yarulin05:08:22

Хочу перейти на clj/deps.edn полностью с lein, но как насчет интеграции с emacs/cider? cider-jack-in не подтягивает зависимости. Как вариант можно запускать clj, а оттуда уже nrepl поднимать. Кто как делает?

delaguardo05:08:28

Все он подтягивает.

Artem Yarulin05:08:41

оу, cider у меня от 2016 года, это все объясняет, сорян 🙂

delaguardo05:08:37

Там Божидар сейчас много чего интересного запил. Может будет больно обновляться

Artem Yarulin05:08:19

да я с 2016 года кложуру и не трогал, так что по сути с чистого листа

dottedmag06:08:06

@roman01la Это брутфорс, да. Такое можно делать даже в языках без персистентных структур данных. Хочется чего-то умнее.

Artem Yarulin07:08:58

Может кто подскажет - юзаю в репле внешний JAR который иногда меняется. Если сделать cider-restart в репле то изменения не видны. Если убить репл и сделать опять cider-jack-in то все ок. Может есть какая команда еще для этого? А то муторно по сто раз так делать на дню

dottedmag07:08:19

@artem.yarulin Но как? При старте JVM формируется classpath, JVM открывает его и загружает оттуда классы.

Artem Yarulin07:08:54

Ага, это я прочитал, но я думал что cider-restart как раз для такого и есть? Чтоб все убить и опять стартануть?

Artem Yarulin07:08:33

т.е. переформулирую - есть-ли возможность из cider убить JVM процесс репла и стартануть его опять?

dottedmag07:08:04

cider-restart рестартит только Emacs-часть.

dottedmag07:08:28

Ничего навскидку не нашлось.

rmuslimov07:08:44

там есть у ztellman какая то штука релодить

rmuslimov07:08:00

забыл как называется но я ее прикручивал кажется сто лет назад

dottedmag07:08:29

Да, почти то, что надо.

dottedmag07:08:49

Лучше, чем рестартить REPL 🙂

rmuslimov07:08:55

ну тут для сорцов правда

rmuslimov07:08:10

подождите ну clj-refactor умеет пожгружать jar

dottedmag07:08:29

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

rmuslimov07:08:34

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

dottedmag07:08:48

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

Artem Yarulin07:08:03

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

rmuslimov07:08:03

вот это

Artem Yarulin07:08:10

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

Artem Yarulin07:08:33

хе, 23 дня назад убрали https://github.com/clojure-emacs/clj-refactor.el/commit/541e8272b0dac1007609bc7ff838cbb4626a8904. Попробую откатиться

Artem Yarulin08:08:44

Чота не получилось, сделал по тупому

(defun restart-repl ()
  (interactive)
  (cider-quit)
  (cider-jack-in-clj `(:project-dir "/Path/To/Project")))

rich 4
andrewtropin09:08:13

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

👍 24
4