spacemacs/layers/+emacs/better-defaults/funcs.el
2016-09-30 12:24:31 +03:00

33 lines
1.1 KiB
EmacsLisp

;;; funcs.el --- Better Emacs Defaults Layer functions File
;;
;; Copyright (c) 2012-2016 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
(defun spacemacs/backward-kill-word-or-region (&optional arg)
"Calls `kill-region' when a region is active and
`backward-kill-word' otherwise. ARG is passed to
`backward-kill-word' if no region is active."
(interactive "p")
(if (region-active-p)
;; call interactively so kill-region handles rectangular selection
;; correctly (see https://github.com/syl20bnr/spacemacs/issues/3278)
(call-interactively #'kill-region)
(backward-kill-word arg)))
;; http://endlessparentheses.com/fill-and-unfill-paragraphs-with-a-single-key.html
(defun spacemacs/fill-or-unfill ()
"Like `fill-paragraph', but unfill if used twice."
(interactive)
(let ((fill-column
(if (eq last-command 'spacemacs/fill-or-unfill)
(progn (setq this-command nil)
(point-max))
fill-column)))
(call-interactively #'fill-paragraph)))