emacs

Consider also joining #cider, #lsp and #inf-clojure, where most of the tool-specific discussions are happening.
AC 2020-05-27T01:59:44.319500Z

smartparens is popular too

practicalli-john 2020-05-27T06:48:36.324800Z

@laheadle smartparens is what I recommend. It works with multiple programming languages and provides a wide range of structural editing commands. It's especially recommended if you want to control the structural editing of your code. I found lispy too confusing with its automatic parens editing.

nmkip 2020-05-27T10:50:14.325100Z

Maybe I'm missing some smartparens config but if I have the following sexp and delete to end of line d $ it results in an unbalanced expression:

(a b | c d e) -> (a b
that problem dissappeared when I added evil-cleverparens :
(spacemacs/toggle-evil-safe-lisp-structural-editing-on-register-hook-clojure-mode)
But some keybindings like >> << H L were overriden by evil-cleverparens ๐Ÿ˜ž I had to:
(setq evil-cleverparens-use-additional-movement-keys nil)
in order to get H and L back. Do you use smartparens and evil-cleverparens? Or just one? What do you usually do when you want to do something like:
(a b (c d |e f g) h i j) -> (a b (c d) h i j)

dotemacs 2020-05-27T11:39:17.325300Z

> if I have the following sexp and delete to end of lineย d $ย  it results in an unbalanced expression:

(a b | c d e) -> (a b
It must be down to your config. As this scenario should not occur.

nmkip 2020-05-27T11:58:33.325500Z

> It must be down to your config. As this scenario should not occur. Maybe I'm missing config, as it's almost the default spacemacs config: clojure layer and (spacemacs/toggle-evil-safe-lisp-structural-editing-on-register-hook-clojure-mode) If you have some spare time, you can check my config here: https://github.com/juan-ignacio-848/dotfiles/blob/master/spacemacs.el

practicalli-john 2020-05-27T14:39:19.326200Z

When using Evil style editing, then using evil-cleverparens is recommended.

practicalli-john 2020-05-27T14:41:17.326400Z

I use D to delete to the end of the expression, this will change (a b (c d |e f g) h i j) -> (a b (c d) h i j)

practicalli-john 2020-05-27T14:42:36.326600Z

@juan.ignacio848 set dotspacemacs-smartparens-strict-mode t

practicalli-john 2020-05-27T14:46:07.326800Z

You have redundancy in the evil-cleverparens config, you are setting it for all modes (line 587) and for clojure specifically (line 591). You can drop the clojure specific config as its covered by the former one https://practicalli.github.io/spacemacs/install-spacemacs/evil-structural-editing.html

practicalli-john 2020-05-27T14:50:18.327100Z

If you are using Spacemacs develop branch (and I hope you are), then these lines are not required https://github.com/juan-ignacio-848/dotfiles/blob/master/spacemacs.el#L608-L615 You already have clj-kondo included in the clojure layer on line 57

nmkip 2020-05-27T22:29:29.334200Z

Yes, I'm using develop branch. ๐Ÿ™‚ I removed the redundancy in the evil-cleverparens config, with D this works (a b (c d |e f g) h i j) -> (a b (c d) h i j) , this is because of evil-cleverparens right? Done, it's working as expected !!

1๐Ÿ‘
nmkip 2020-05-27T23:35:32.334600Z

thanks

hindol 2020-05-27T06:49:25.324900Z

You are definitely not the only one. Lispy is very popular. For a very different take, you can check out parinfer.

nmkip 2020-05-27T10:50:14.325100Z

Maybe I'm missing some smartparens config but if I have the following sexp and delete to end of line d $ it results in an unbalanced expression:

(a b | c d e) -> (a b
that problem dissappeared when I added evil-cleverparens :
(spacemacs/toggle-evil-safe-lisp-structural-editing-on-register-hook-clojure-mode)
But some keybindings like >> << H L were overriden by evil-cleverparens ๐Ÿ˜ž I had to:
(setq evil-cleverparens-use-additional-movement-keys nil)
in order to get H and L back. Do you use smartparens and evil-cleverparens? Or just one? What do you usually do when you want to do something like:
(a b (c d |e f g) h i j) -> (a b (c d) h i j)

dotemacs 2020-05-27T11:39:17.325300Z

> if I have the following sexp and delete to end of lineย d $ย  it results in an unbalanced expression:

(a b | c d e) -> (a b
It must be down to your config. As this scenario should not occur.

nmkip 2020-05-27T11:58:33.325500Z

> It must be down to your config. As this scenario should not occur. Maybe I'm missing config, as it's almost the default spacemacs config: clojure layer and (spacemacs/toggle-evil-safe-lisp-structural-editing-on-register-hook-clojure-mode) If you have some spare time, you can check my config here: https://github.com/juan-ignacio-848/dotfiles/blob/master/spacemacs.el

practicalli-john 2020-05-27T14:39:19.326200Z

When using Evil style editing, then using evil-cleverparens is recommended.

practicalli-john 2020-05-27T14:41:17.326400Z

I use D to delete to the end of the expression, this will change (a b (c d |e f g) h i j) -> (a b (c d) h i j)

practicalli-john 2020-05-27T14:42:36.326600Z

@juan.ignacio848 set dotspacemacs-smartparens-strict-mode t

practicalli-john 2020-05-27T14:46:07.326800Z

You have redundancy in the evil-cleverparens config, you are setting it for all modes (line 587) and for clojure specifically (line 591). You can drop the clojure specific config as its covered by the former one https://practicalli.github.io/spacemacs/install-spacemacs/evil-structural-editing.html

practicalli-john 2020-05-27T14:50:18.327100Z

If you are using Spacemacs develop branch (and I hope you are), then these lines are not required https://github.com/juan-ignacio-848/dotfiles/blob/master/spacemacs.el#L608-L615 You already have clj-kondo included in the clojure layer on line 57

codeasone 2020-05-27T15:00:41.328400Z

I'm using paxedit along-side smartparens at the moment, it's a nice complement that's not often mentioned https://github.com/promethial/paxedit - mostly use this for paxedit-transpose-{forward,backward} which works great within lets and maps

1
practicalli-john 2020-05-27T15:44:43.330Z

If you know vim editing style, then using Evil actually does a lot of things I would otherwise need a structural editing or refactoring package to do.

2020-05-27T16:03:29.332700Z

It's probably a stupid question, but I would like to understand the why behind this. When I launch my REPL from Emacs with CIDER (via clj), clojure.inspector can't open windows. It doesn't crash, returns a Swing object but I can't see the window. Could someone share some knowledge about this ?

2020-05-27T19:47:14.334100Z

it's not that the window is hiding behind something else right?

2020-05-29T06:43:14.335400Z

For information, after updating CIDER package on both computers, it works on both. Thank you for your suggestion.

1๐ŸŽ‰
nmkip 2020-05-27T22:29:29.334200Z

Yes, I'm using develop branch. ๐Ÿ™‚ I removed the redundancy in the evil-cleverparens config, with D this works (a b (c d |e f g) h i j) -> (a b (c d) h i j) , this is because of evil-cleverparens right? Done, it's working as expected !!

1๐Ÿ‘
nmkip 2020-05-27T23:35:32.334600Z

thanks