lispy icon indicating copy to clipboard operation
lispy copied to clipboard

lispy box cursor

Open Luis-Henriquez-Perez opened this issue 5 years ago • 2 comments

I notice that lispy left and lispy right seem to be designed with the "thin" cursor ( | ) in mind. When using the box cursor lispy the cursor looks like it 1 char too far after using lispy right.

Here's a concrete example:

;; point is "|". this is normal lispy

|(point) --> (point)|

;; [] - this represents the box cursor.
;; point looks wierd (even though it's in the right place). 
[(] point ) --> ( point )[]

;; what I would expect

[(] point ) --> ( point [)]

Do you have an idea of how I can adjust this so that it's 1 char less, but doesn't break lispy? I'm thinking maybe advising lispy-right and lispy-right-p.

Luis-Henriquez-Perez avatar Dec 16 '19 14:12 Luis-Henriquez-Perez

I always use the default (setq cursor-type t) which is a box, and show-paren-mode. It does not look weird, since that's how the cursor always looks like in Emacs.

Advising lispy-right-p does not make sense to me, since (function-[)] means we're not in special and still inserting the function name.

abo-abo avatar Dec 19 '19 11:12 abo-abo

It does not look weird, since that's how the cursor always looks like in Emacs.

I guess "weird" is a subjective term. I will explain what I mean.

The way it is now is logically consistent and makes perfect sense when considering the position of point and how it is represented by the box cursor.

Despite that, I find the asymmetry with the between the display of the thin cursor versus the box cursor off putting.

symmetric             asymmetric
|(function )|  ---> [(]function )[]

Don't get me wrong though, this is not a problem with lispy. It's more of a problem with how the box cursor misleadingly suggests that we're on a character when we're actually always before or after it (I make this sound like a bad thing, but this simplification can be useful).

Advising lispy-right-p does not make sense to me, since (function-[)] means we're not in special and still inserting the function name.

Right now I'm in a (difficult) process of forging my own editing workflow. So for the moment I use lispy in unconventional ways, namely with my own half-baked evil-lispy-state. So I'm not concerned about that specific distinction at the moment.

I've already looked at the source code and am about to advise. But I wanted any top-of-your-head suggestions you may have since lispy-right is pretty fundamental to lispy.

Luis-Henriquez-Perez avatar Dec 19 '19 16:12 Luis-Henriquez-Perez