summaryrefslogtreecommitdiff
path: root/emacs/lisp/fcuny-commands.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/lisp/fcuny-commands.el')
-rw-r--r--emacs/lisp/fcuny-commands.el27
1 files changed, 27 insertions, 0 deletions
diff --git a/emacs/lisp/fcuny-commands.el b/emacs/lisp/fcuny-commands.el
new file mode 100644
index 0000000..a286e9f
--- /dev/null
+++ b/emacs/lisp/fcuny-commands.el
@@ -0,0 +1,27 @@
+(defun 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 uniquify-region-lines (beg end)
+ "Remove duplicate adjacent lines in region."
+ (interactive "*r")
+ (save-excursion
+ (goto-char beg)
+ (while (re-search-forward "^\\(.*\n\\)\\1+" end t)
+ (replace-match "\\1"))))
+
+(provide 'fcuny-commands)