Skip to content

Commit

Permalink
racket-hash-lang: Preserve point when wrapping region; closes #686
Browse files Browse the repository at this point in the history
  • Loading branch information
greghendershott committed Dec 7, 2023
1 parent 310f195 commit 8c92c9f
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions racket-hash-lang.el
Original file line number Diff line number Diff line change
Expand Up @@ -767,19 +767,21 @@ You may customize this default initialization in
"A value for `post-self-insert-hook'."
(pcase (racket--hash-lang-lookup-pair last-command-event (point))
(`(,open . ,close)
(if (use-region-p)
(if (<= (point) (mark))
(progn
(goto-char (mark))
(insert close))
;; Delete open already inserted after region
(delete-char (- (length open)))
(insert close)
(save-excursion
(goto-char (mark))
(insert open)))
(save-excursion
(insert close))))))
(cond ((not (use-region-p))
(save-excursion
(insert close)))
((< (point) (mark))
(save-excursion
(goto-char (mark))
(insert close))
(goto-char (1- (point))))
((< (mark) (point))
;; Delete open already inserted after region.
(delete-char (- (length open)))
(insert close)
(save-excursion
(goto-char (mark))
(insert open)))))))

(defun racket-hash-lang-delete-backward-char ()
"Delete previous character, and possibly paired delimiters.
Expand Down

0 comments on commit 8c92c9f

Please sign in to comment.