The SSH host key has changed on 8 April, 2022 to this one: SHA256:573uTBSeh74kvOo0HJXi5ijdzRm8me27suzNEDlGyrQ
Browse Source

Create æ-enclose-region and bind it to M-(

It encloses region in the specified character, or pair of brackets.
gerrit-package
Gergely Polonkai 6 years ago
parent
commit
2165c8aa78
  1. 3
      init.el
  2. 34
      lisp/enclose-string.el

3
init.el

@ -117,6 +117,7 @@
(load "zim.el")
(load "clearcase.el")
(load "jekyll.el")
(load "enclose-string.el")
(add-hook 'c-mode-hook
(lambda ()
@ -359,3 +360,5 @@ Version 2016-02-16"
(add-hook 'org-mode-hook
(lambda ()
(if (display-graphic-p) (org-bullets-mode t))))
(global-set-key (kbd "M-(") 'æ-enclose-region)

34
lisp/enclose-string.el

@ -0,0 +1,34 @@
(defun æ-enclose-region (character &optional start end)
"Enclose region in CHARACTER. If region is empty, simply inserts
CHARACTER two times and moves point between them.
If character is present in `insert-pair-alist', this function
will enclose region in the corresponding pair. In this case,
CHARACTER must be the opening member of the pair."
(interactive "cWhat character? \nr")
(setq open character close character)
(let ((pair (assq character insert-pair-alist)))
(if pair
(if (nth 2 pair)
(setq open (nth 1 pair) close (nth 2 pair))
(setq open (nth 0 pair) close (nth 1 pair)))))
(unless (and open close)
(setq open character)
(setq close character))
(unless (use-region-p)
(setq start (point) end (point)))
(save-excursion
(goto-char end)
(insert-char close)
(goto-char start)
(insert-char open))
(unless (use-region-p)
(forward-char)))
Loading…
Cancel
Save