Emacs: Move skeletons patch to a dedicated file
parent
5183b7124e
commit
223348d554
|
@ -192,41 +192,6 @@ If DIR-LEFT is t, then move left, otherwise move right."
|
|||
"Reset `fill-column' to its default value."
|
||||
(setq fill-column (default-value 'fill-column)))
|
||||
|
||||
(defun ambrevar/skeleton-make-markers ()
|
||||
"Save last skeleton markers in a list.
|
||||
Hook function for skeletons."
|
||||
(while skeleton-markers
|
||||
(set-marker (pop skeleton-markers) nil))
|
||||
(setq skeleton-markers
|
||||
(mapcar 'copy-marker (reverse skeleton-positions))))
|
||||
|
||||
(defvar skeleton-markers nil
|
||||
"Markers for locations saved in `skeleton-positions'.")
|
||||
|
||||
(defun ambrevar/skeleton-previous-position ()
|
||||
"Move to previous skeleton placeholder.
|
||||
See `skeleton-next-position'."
|
||||
(skeleton-next-position t))
|
||||
|
||||
(defun ambrevar/skeleton-next-position (&optional reverse)
|
||||
"Move to next skeleton placeholder.
|
||||
If REVERSE it t, move to previous placeholder."
|
||||
(interactive "P")
|
||||
(let ((positions (mapcar 'marker-position skeleton-markers))
|
||||
(comp (if reverse '< '<=))
|
||||
pos
|
||||
prev)
|
||||
(when positions
|
||||
(setq pos (pop positions))
|
||||
(while (and pos (funcall comp pos (point)))
|
||||
(setq prev pos)
|
||||
(setq pos (pop positions)))
|
||||
(cond
|
||||
((and reverse prev) (goto-char prev))
|
||||
(reverse (goto-char (car (last skeleton-markers))))
|
||||
(pos (goto-char pos))
|
||||
(t (goto-char (car skeleton-markers)))))))
|
||||
|
||||
(defun ambrevar/sort-lines-unique (arg)
|
||||
"Remove trailing white space, then duplicate lines, then sort the result.
|
||||
Do not fold case with \\[universal-argument] or non-nil ARG."
|
||||
|
@ -453,6 +418,7 @@ This does not affect .csv files."
|
|||
|
||||
(defun ambrevar/turn-on-skeleton-markers ()
|
||||
"Allow skeletons to make markers to ease field navigation."
|
||||
(require 'patch-skeletons)
|
||||
(add-hook 'skeleton-end-hook 'ambrevar/skeleton-make-markers))
|
||||
|
||||
(defun ambrevar/turn-on-tab-width-to-4 ()
|
||||
|
|
|
@ -293,12 +293,13 @@
|
|||
(setq uniquify-buffer-name-style 'forward)
|
||||
|
||||
;;; Skeleton settings
|
||||
(when (require 'patch-skeletons nil 'noerror)
|
||||
;;; Do not expand abbrevs in skeletons.
|
||||
(setq-default skeleton-further-elements '((abbrev-mode nil)))
|
||||
(ambrevar/turn-on-skeleton-markers)
|
||||
(ambrevar/global-set-keys
|
||||
"C->" 'skeleton-next-position
|
||||
"C-<" 'skeleton-previous-position)
|
||||
(setq-default skeleton-further-elements '((abbrev-mode nil)))
|
||||
(ambrevar/turn-on-skeleton-markers)
|
||||
(ambrevar/global-set-keys
|
||||
"C->" 'skeleton-next-position
|
||||
"C-<" 'skeleton-previous-position))
|
||||
|
||||
;;; Disable prompt (but leave warning) on git symlink.
|
||||
(setq vc-follow-symlinks t)
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
(defun ambrevar/skeleton-make-markers ()
|
||||
"Save last skeleton markers in a list.
|
||||
Hook function for skeletons."
|
||||
(while skeleton-markers
|
||||
(set-marker (pop skeleton-markers) nil))
|
||||
(setq skeleton-markers
|
||||
(mapcar 'copy-marker (reverse skeleton-positions))))
|
||||
|
||||
(defvar skeleton-markers nil
|
||||
"Markers for locations saved in `skeleton-positions'.")
|
||||
|
||||
(defun ambrevar/skeleton-previous-position ()
|
||||
"Move to previous skeleton placeholder.
|
||||
See `skeleton-next-position'."
|
||||
(skeleton-next-position t))
|
||||
|
||||
(defun ambrevar/skeleton-next-position (&optional reverse)
|
||||
"Move to next skeleton placeholder.
|
||||
If REVERSE it t, move to previous placeholder."
|
||||
(interactive "P")
|
||||
(let ((positions (mapcar 'marker-position skeleton-markers))
|
||||
(comp (if reverse '< '<=))
|
||||
pos
|
||||
prev)
|
||||
(when positions
|
||||
(setq pos (pop positions))
|
||||
(while (and pos (funcall comp pos (point)))
|
||||
(setq prev pos)
|
||||
(setq pos (pop positions)))
|
||||
(cond
|
||||
((and reverse prev) (goto-char prev))
|
||||
(reverse (goto-char (car (last skeleton-markers))))
|
||||
(pos (goto-char pos))
|
||||
(t (goto-char (car skeleton-markers)))))))
|
||||
|
||||
(provide 'patch-skeletons)
|
Loading…
Reference in New Issue