Move reusable function definitions to its x-lib
This commit is contained in:
parent
f8ed569e92
commit
fe3147aa33
34
config.el
34
config.el
@ -244,6 +244,10 @@
|
||||
(define-key whole-line-or-region-local-mode-map [remap comment-dwim] nil)
|
||||
(whole-line-or-region-global-mode +1))
|
||||
|
||||
;; Defer loading of local configuration library.
|
||||
(use-package! x-lib
|
||||
:defer t)
|
||||
|
||||
;; -----------------------------------------------------------------------------
|
||||
;; Global configuration.
|
||||
;; -----------------------------------------------------------------------------
|
||||
@ -285,33 +289,11 @@
|
||||
;; -----------------------------------------------------------------------------
|
||||
|
||||
(map!
|
||||
"C-M-\\" (defun +x/indent-region-or-buffer ()
|
||||
"Indent a region if selected, otherwise the whole buffer."
|
||||
(interactive)
|
||||
(if (region-active-p)
|
||||
(indent-region (region-beginning) (region-end))
|
||||
(indent-region (point-min) (point-max))))
|
||||
|
||||
"C-M-\\" #'+x/indent-region-or-buffer
|
||||
"C-x k" #'kill-current-buffer
|
||||
|
||||
"C-<" (defun +x/scroll-down-one ()
|
||||
"Scroll text (but not the point) of selected window downward one line."
|
||||
(interactive)
|
||||
(let ((scroll-preserve-screen-position nil)) (scroll-down 1)))
|
||||
|
||||
"C->" (defun +x/scroll-up-one ()
|
||||
"Scroll text (but not the point) of selected window upward one line."
|
||||
(interactive)
|
||||
(let ((scroll-preserve-screen-position nil)) (scroll-up 1)))
|
||||
|
||||
"M-Q" (defun +x/unfill-paragraph (&optional region)
|
||||
"Takes a multi-line paragraph and makes it into a single line of text."
|
||||
(interactive (progn (barf-if-buffer-read-only) '(t)))
|
||||
(let ((fill-column (point-max))
|
||||
;; This would override `fill-column' if it's an integer.
|
||||
(emacs-lisp-docstring-fill-column t))
|
||||
(fill-paragraph nil region)))
|
||||
|
||||
"C-<" #'+x/scroll-down-one
|
||||
"C->" #'+x/scroll-up-one
|
||||
"M-Q" #'+x/unfill-paragraph
|
||||
;; Create binding before dired is loaded.
|
||||
"C-x C-j" #'dired-jump
|
||||
;; More convenient window switching.
|
||||
|
@ -14,6 +14,8 @@
|
||||
(package! duplicate-thing)
|
||||
(package! treemacs-icons-dired)
|
||||
(package! whole-line-or-region)
|
||||
(package! x-lib
|
||||
:recipe (:local-repo "repos/x-lib"))
|
||||
|
||||
;; To install a package directly from a remote git repo, you must specify a
|
||||
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
|
||||
|
38
repos/x-lib/x-lib.el
Normal file
38
repos/x-lib/x-lib.el
Normal file
@ -0,0 +1,38 @@
|
||||
;;; x-lib.el -*- lexical-binding: t -*-
|
||||
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
;;;###autoload
|
||||
(defun +x/indent-region-or-buffer ()
|
||||
"Indent a region if selected, otherwise the whole buffer."
|
||||
(interactive)
|
||||
(if (region-active-p)
|
||||
(indent-region (region-beginning) (region-end))
|
||||
(indent-region (point-min) (point-max))))
|
||||
|
||||
;;;###autoload
|
||||
(defun +x/scroll-down-one ()
|
||||
"Scroll text (but not the point) of selected window downward one line."
|
||||
(interactive)
|
||||
(let ((scroll-preserve-screen-position nil))
|
||||
(scroll-down 1)))
|
||||
|
||||
;;;###autoload
|
||||
(defun +x/scroll-up-one ()
|
||||
"Scroll text (but not the point) of selected window upward one line."
|
||||
(interactive)
|
||||
(let ((scroll-preserve-screen-position nil))
|
||||
(scroll-up 1)))
|
||||
|
||||
;;;###autoload
|
||||
(defun +x/unfill-paragraph (&optional region)
|
||||
"Takes a multi-line paragraph and makes it into a single line of text."
|
||||
(interactive (progn (barf-if-buffer-read-only) '(t)))
|
||||
(let ((fill-column (point-max))
|
||||
;; This would override `fill-column' if it's an integer.
|
||||
(emacs-lisp-docstring-fill-column t))
|
||||
(fill-paragraph nil region)))
|
||||
|
||||
(provide 'x-lib)
|
||||
;;; x-lib.el ends here
|
Loading…
Reference in New Issue
Block a user