clojure-russia

Работа и релокейт: #jobs-rus | #clojure-russia-offtop Телеграм-чат https://t.me/clojure_ru
2018-08-17T00:20:18.000100Z

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

2018-08-17T00:21:04.000100Z

clojure.data/diff

Artem Yarulin 2018-08-17T05:46:22.000100Z

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

2018-08-17T05:52:28.000100Z

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

Artem Yarulin 2018-08-17T05:53:41.000100Z

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

2018-08-17T05:53:50.000100Z

))

2018-08-17T05:54:37.000100Z

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

Artem Yarulin 2018-08-17T05:56:19.000100Z

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

dottedmag 2018-08-17T06:46:06.000100Z

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

Artem Yarulin 2018-08-17T07:37:58.000100Z

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

dottedmag 2018-08-17T07:39:19.000100Z

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

Artem Yarulin 2018-08-17T07:39:54.000100Z

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

Artem Yarulin 2018-08-17T07:40:33.000100Z

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

dottedmag 2018-08-17T07:41:04.000100Z

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

dottedmag 2018-08-17T07:43:28.000100Z

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

2018-08-17T07:43:44.000100Z

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

2018-08-17T07:44:00.000100Z

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

dottedmag 2018-08-17T07:44:56.000100Z

Эта? https://github.com/ztellman/virgil

2018-08-17T07:45:22.000100Z

да

dottedmag 2018-08-17T07:45:29.000100Z

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

dottedmag 2018-08-17T07:45:49.000100Z

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

2018-08-17T07:45:55.000100Z

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

2018-08-17T07:46:10.000200Z

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

dottedmag 2018-08-17T07:46:29.000100Z

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

2018-08-17T07:46:34.000200Z

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

dottedmag 2018-08-17T07:46:48.000100Z

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

Artem Yarulin 2018-08-17T07:47:03.000100Z

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

2018-08-17T07:47:03.000200Z

вот это

Artem Yarulin 2018-08-17T07:47:10.000100Z

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

Artem Yarulin 2018-08-17T07:51:01.000100Z

Хм

Artem Yarulin 2018-08-17T07:53:33.000100Z

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

Artem Yarulin 2018-08-17T08:50:44.000100Z

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

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

1
andrewtropin 2018-08-17T09:18:13.000100Z

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

6👍1