From d52fb88582f431738994a3321614bd7ec76e7f56 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Wed, 23 Mar 2022 19:43:46 -0700 Subject: this should be the last mass refactor --- emacs/elisp/my-buffers.el | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'emacs/elisp/my-buffers.el') diff --git a/emacs/elisp/my-buffers.el b/emacs/elisp/my-buffers.el index d5c07c5..8c03905 100644 --- a/emacs/elisp/my-buffers.el +++ b/emacs/elisp/my-buffers.el @@ -9,5 +9,31 @@ (mark-whole-buffer) (copy-region-as-kill 1 (buffer-size)))) +(defun my/rename-this-buffer-and-file () + "Renames current buffer and file it is visiting." + (interactive) + (let ((name (buffer-name)) + (filename (buffer-file-name)) + (read-file-name-function 'read-file-name-default)) + (if (not (and filename (file-exists-p filename))) + (error "Buffer '%s' is not visiting a file!" name) + (let ((new-name (read-file-name "New name: " filename))) + (cond ((get-buffer new-name) + (error "A buffer named '%s' already exists!" new-name)) + (t + (rename-file filename new-name 1) + (rename-buffer new-name) + (set-visited-file-name new-name) + (set-buffer-modified-p nil) + (message "File '%s' successfully renamed to '%s'" name (file-name-nondirectory new-name)))))))) + +(defun my/uniquify-region-lines (beg end) + "Remove duplicate adjacent lines in region between BEG and END." + (interactive "*r") + (save-excursion + (goto-char beg) + (while (re-search-forward "^\\(.*\n\\)\\1+" end t) + (replace-match "\\1")))) + (provide 'my-buffers) ;;; my-buffers.el ends here -- cgit 1.4.1