-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(WIP) Add Lispy Layer #2792
(WIP) Add Lispy Layer #2792
Conversation
👍 |
The toggle is good, I think it should eventually be changed to the standard of Why do you want lispy to toggle on and off by state? What's wrong with having lispy around in normal state, when operations like lispy-raise-sexp or lispy-kill are either exactly equivalent to the smartparens variant or improved? Special mode is activated by entering insert-state at a special point, there is no reason to constantly toggle lispy, unless I'm missing something. Some of this layer seems highly opinionated, and I can't see the benefit of some customisations. What is the need for clojure/scheme/cl specific bindings, when functionality is really orthogonal to what those major mode layers offer? Rebindings like C-f to lispy-forward and C-d to lispy-backward seem unnecessary, and is not something someone who just wants lispy would know. I think the lispy layer should offer lispy itself inside spacemacs in a discoverable way, and the only real opinionated customizations should be where it happens to conflict in some way with evil, smartparens, etc. |
@sooheon I agree with a lot of your suggestions - right now this is little more than my configuration, and would be almost completely rewritten before becoming a proper layer. Maybe i shouldn't have included a PR and limited this to just a discussion, but seeing code always helps me so I thought it might be useful. I'll remove my customization to make my intentions clearer here. |
@sooheon but I disagree about the value of integration. I think that a layer should be more than just another way of installing a package; if someone wants to setup lispy in spacemacs, it's as easy as adding it as an additional package, it works perfectly right out of the box. |
@cmccloud It is a good point that because default setup is easy, we can afford to be a little more opinionated in integration. Just out of curiosity, which lispy-key-themes do you have included in lispy-mode-map? And what do you think would be a good default? I use |
@cmccloud I wanted to try out lispy and added it to
So unless I'm missing something I think there could be great value in a lispy layer. Currently for modes with a lisp-like syntax the single-character keys are still bound to the word and line-based editing commands from vim, which is not optimal for lisp syntax. |
@mbertheau This is something that was recently introduced to lispy - the temporary fix is to both recompile and reload lispy.el.
If I get some free time I may reopen the PR and see about automating the process, but for the moment I'm not really able to work on it. |
@mbertheau @cmccloud The problem also reoccurs when you update lispy. The process can be annoying, so a temporary fix is to put |
@sooheon Thanks - that's extremely useful to know. Do you think putting that inside of the :init block of the (use-package lispy) call would have the same effect? e.g.
|
I think I added that after trawling through the spacemacs init process for a bit, can't remember why it had to go in the global init and don't see any reason why it shouldn't work in there right now... would have to try it out though. |
Thoughts and contributions welcome.
Spacemacs/Lispy Integration
Clojure Layer Integration
Scheme Layer Integration
Common Lisp Layer Integration