From 8a34cf5a197f7176210cc91b5f26999676ced574 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 19 Sep 2023 10:27:25 -0400 Subject: Kanagawa theme and putting all custom commands in an mk file --- lisp/mk.el | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 lisp/mk.el (limited to 'lisp/mk.el') diff --git a/lisp/mk.el b/lisp/mk.el new file mode 100644 index 0000000..634f09a --- /dev/null +++ b/lisp/mk.el @@ -0,0 +1,74 @@ +;;; Code: + +(defun mk/kill-other-buffers () + "Kill all other buffers." + (interactive) + (mapc (lambda (buffer) + (when (and (buffer-file-name buffer) (not (eq buffer (current-buffer)))) + (kill-buffer buffer))) + (buffer-list))) + +(defun mk/format-xml () + (interactive) + (shell-command-on-region 1 (point-max) "xmllint --format -" (current-buffer) t) + ) + +;; Copy the entire buffer. +(defun mk/copy-all () + "Copy entire buffer to clipboard." + (interactive) + (clipboard-kill-ring-save (point-min) (point-max))) + +(defun mk/create-directory () + "Create a directory and refresh neotree." + (interactive) + (call-interactively #'make-directory) + (other-window -1)) +(bind-key* (kbd "C-c d n") 'mk/create-directory) + +(defun mk/delete-file () + "Delete a file and refresh neotree." + (interactive) + (call-interactively #'delete-file)) +(bind-key* (kbd "C-c f d") 'mk/delete-file) + +(defun mk/create-file (filename) + "Create a file and refresh neotree. FILENAME File to create." + (interactive (list (read-file-name "Enter your file name: " nil nil nil (file-name-nondirectory "")))) + (make-empty-file filename) + (find-file filename)) + +(bind-key* (kbd "C-c f n") 'mk/create-file) + + + +(defun mk/delete-directory () + "Delete a file and refresh neotree." + (interactive) + (call-interactively #'delete-directory)) +(bind-key* (kbd "C-c d d") 'mk/delete-directory) + + +;; source: http://steve.yegge.googlepages.com/my-dot-emacs-file +(defun mk/rename-file (new-name) + "Renames both current buffer and file it's visiting to NEW-NAME." + (interactive "sNew name: ") + (let ((name (buffer-name)) + (filename (buffer-file-name))) + (if (not filename) + (message "Buffer '%s' is not visiting a file!" name) + (if (get-buffer new-name) + (message "A buffer named '%s' already exists!" new-name) + (progn + (rename-file filename new-name 1) + (rename-buffer new-name) + (set-visited-file-name new-name) + (set-buffer-modified-p nil) + ;(neotree-show) + ;(neotree-refresh) + (other-window -1)))))) +(bind-key* (kbd "C-c f r") 'mk/rename-file) + + +(provide 'mk) +;;; mk.el ends here -- cgit v1.2.1