1 ;;; utilities.el --- Some utility functions -*- lexical-binding: t; -*-
3 ;; Copyright (C) 2017 Peng Li
5 ;; Author: Peng Li <seudut@gmail.com>
8 ;; This program is free software; you can redistribute it and/or modify
9 ;; it under the terms of the GNU General Public License as published by
10 ;; the Free Software Foundation, either version 3 of the License, or
11 ;; (at your option) any later version.
13 ;; This program is distributed in the hope that it will be useful,
14 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ;; GNU General Public License for more details.
18 ;; You should have received a copy of the GNU General Public License
19 ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
23 ;; These are some utility functions
27 (defun sd/eshell-clear-buffer ()
30 (let ((inhibit-read-only t)
31 (current-point (- (point-max) (point))))
33 (delete-region (point-min) (point))
34 (goto-char (- (point-max) current-point))))
36 (defun sd/delete-current-window ()
38 (if (> (length (window-list)) 1)
40 (message "Only one Windows now!")))
43 (defun sd/toggle-max-windows ()
44 "Set maximize current if there are multiple windows, if only
45 one window, window undo"
47 (if (equal (length (window-list)) 1)
49 (delete-other-windows)))
52 (defun sd/kill-region-or-backward-kill-word ()
53 "Delete the region if it exists, otherwise kill a word backward."
56 (kill-region (point) (mark))
57 (backward-kill-word 1)))
62 ;;; utilities.el ends here