emacs

Consider also joining #cider, #lsp and #inf-clojure, where most of the tool-specific discussions are happening.
yuhan 2021-04-09T08:55:32.090600Z

Does anyone know a structural editing package that treats pairs in a map / let binding as a single unit? I just had a look at Calva and was impressed to see its implementation of paredit handle this nicely: https://calva.io/paredit/#drag-bindings-forwardbackward

bozhidar 2021-04-13T05:21:23.104400Z

Pretty cool, indeed! Outside of a generic solution, I assume it won’t be very hard to do this in clojure-mode.

yuhan 2021-04-09T08:57:03.091500Z

ie. I never realised how much I needed these commands, always resorting to textual editing when dealing with pairs

blak3mill3r 2021-04-09T09:35:46.091900Z

I saw something like that in emacs, quite some time ago... I'm struggling to recall the name of it

blak3mill3r 2021-04-09T09:35:59.092300Z

I wanted to use it, tried it, and couldn't get it to work... there was a youtube video

blak3mill3r 2021-04-09T09:36:02.092500Z

I'll try to track it down

blak3mill3r 2021-04-09T09:37:28.092700Z

bada boom https://www.youtube.com/watch?v=vI1l-oC7HvI

blak3mill3r 2021-04-09T09:37:42.093Z

https://github.com/promethial/paxedit

blak3mill3r 2021-04-09T09:37:55.093500Z

@qythium

yuhan 2021-04-09T10:33:39.094700Z

Nice! I've got to check that out (and see if I can hook into it from lispyville-drag instead of relearning another system 😛)

pez 2021-04-09T14:02:41.095600Z

I was lacking this quite badly in some cond-> forms today. 😃

2021-04-09T14:16:02.096400Z

Is there a way to interactively change a font face and browse the different options while seeing what they look like? I'm looking to change the clojure-keyword-font-face

2021-04-09T14:16:50.096800Z

customize-group just gives me a text field for the font face to use

yuhan 2021-04-09T14:26:41.097800Z

I use Ivy which provides M-x counsel-faces

yuhan 2021-04-09T14:29:28.099Z

it gives an interactive completion list showing what they all look like, and forwards to describe-face when you select any one

2021-04-09T14:37:06.099400Z

cool, thanks!

2021-04-09T14:40:43.099500Z

it just worked for emacs-lisp, but for Clojure it seems to be broken

practicalli-john 2021-04-09T14:43:25.099700Z

spacemacs/helm-faces for the same kind of thing with helm and Spacemacs

2021-04-09T14:48:43.099800Z

Ahh. It was just missing implicit functions and structures for Clojurescript

2021-04-09T14:48:59.100Z

copying the one for Clojure works fine

2021-04-09T14:49:06.100200Z

yay! Thanks for the tip

2021-04-09T15:00:58.101300Z

(use-package paxedit
  :commands (paxedit-mode)
  :hook (paredit-mode . paxedit-mode)
  :bind (:map paxedit-mode-map
              ("M-<right>" . paxedit-transpose-forward)
              ("M-<left>" . paxedit-transpose-backward))
  :config
  (let ((paxedit-implicit-clojure '(paxedit-implicit-functions-clojure
                                    paxedit-implicit-structures-clojure)))
    (add-to-list 'paxedit-assoc `(clojurescript-mode . ,paxedit-implicit-clojure))
    (add-to-list 'paxedit-assoc `(clojurec-mode . ,paxedit-implicit-clojure))))
For those who wants to try paxedit mentioned above

❤️ 1
2021-04-09T15:02:02.101900Z

It worked just fine with Clojure, but I thought it didn’t because I was in clojurescript context when I tried it

2021-04-09T15:07:15.102600Z

apparently there’s a PR from a year ago to fix it