This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-04-18
Channels
- # beginners (25)
- # boot (30)
- # cljs-dev (22)
- # cljsjs (2)
- # cljsrn (1)
- # clojars (4)
- # clojure (223)
- # clojure-boston (1)
- # clojure-dusseldorf (1)
- # clojure-gamedev (8)
- # clojure-italy (5)
- # clojure-russia (122)
- # clojure-sg (3)
- # clojure-spec (26)
- # clojure-uk (42)
- # clojurescript (69)
- # clojuresque (10)
- # core-async (25)
- # cursive (10)
- # datascript (5)
- # datomic (12)
- # emacs (18)
- # garden (1)
- # interop (1)
- # jobs (1)
- # jobs-discuss (10)
- # leiningen (2)
- # liberator (1)
- # lumo (21)
- # nyc (2)
- # off-topic (210)
- # om (11)
- # om-next (3)
- # onyx (1)
- # pedestal (6)
- # re-frame (10)
- # rum (9)
- # specter (38)
- # uncomplicate (1)
- # vim (23)
- # yada (22)
A writeup of some of my experiences with Clojure and Neovim (much of it already discussed here): http://blog.cognitect.com/blog/2017/4/17/clojure-for-neovim-for-clojure
It's weird, you can't say "rust" in a programming blog anymore without me stopping and saying "wait, the language or literal rust"
@jebberjeb link to your (blog?) is borked 🙂
https://github.com/jebberjeb/blog/blob/master goes here On link text: > "baroque, deranged and annoyingly useful mess"
@jebberjeb You linked to my blog ❤️
@jebberjeb I'm curious: What's the editor landscape like at Cognitect?
@dominicm I want to say there are 3-4 vimmers, then the rest are split 75% emacs, 25% intellij
@jebberjeb I was checking the code. So in theory I could add another function in socketrepl.vim and a related command on the clj side in socket_repl_plugin.clj. I'm thinking about a possible clj-refactor integration
@reborg so, in the function you'd add to socket_repl_plugin.clj, you can access the API, and get/set buffer contents.
So you could do it the way you've described, I think, or do it all in Clojure (I think).
Yeah kind of neat to think about doing this stuff in Clojure. The core of it happens with https://github.com/clojure-vim/neovim-client. I don't know enough about clj-refactor to know this, but if you didn't actually need the socket repl, you could create a totally new plugin project to just do what you want, and kinda pattern it after socketrepl.nvim.
But if it would use the socketrepl to do anything, then yeah better to bolt something like that on to socketrepl.nvim.
It seems to me that your architecture cuts down a lot of complexity compared to clj-refactor.nvim (requiring node.js) so the day of emacs-parity is getting closer 😉
I think you're right, that it is simpler in some aspects. A disadvantage of my approach is that, right now at least, the plugin itself is a java process. So it depends on how you feel about the cost of starting up a java process and loading the clojure runtime. I've been using it with socketrepl.nvim for months now and I don't feel it, but I think for lightweight plugins it is potentially a problem.