summaryrefslogtreecommitdiff
path: root/modules/custom-functions.el
diff options
context:
space:
mode:
Diffstat (limited to 'modules/custom-functions.el')
-rw-r--r--modules/custom-functions.el136
1 files changed, 0 insertions, 136 deletions
diff --git a/modules/custom-functions.el b/modules/custom-functions.el
index 5899eec7..61c6e883 100644
--- a/modules/custom-functions.el
+++ b/modules/custom-functions.el
@@ -175,142 +175,6 @@ This advice ensures `align-regexp' uses spaces by binding `indent-tabs-mode' to
Other key maps extend from this key map to hold categorized functions.")
(global-set-key (kbd "C-;") cj/custom-keymap)
-;;; ------------------- Buffer And File Operations And Keymap -------------------
-
-(defun cj/move-buffer-and-file (dir)
- "Move both current buffer and the file it visits to DIR."
- (interactive "DMove buffer and file (to new directory): ")
- (let* ((name (buffer-name))
- (filename (buffer-file-name))
- (dir
- (if (string-match dir "\\(?:/\\|\\\\)$")
- (substring dir 0 -1) dir))
- (newname (concat dir "/" name)))
- (if (not filename)
- (message "Buffer '%s' is not visiting a file!" name)
- (progn (copy-file filename newname 1) (delete-file filename)
- (set-visited-file-name newname) (set-buffer-modified-p nil) t))))
-
-(defun cj/rename-buffer-and-file (new-name)
- "Rename both current buffer and the file it visits to NEW-NAME."
- (interactive
- (list (if (not (buffer-file-name))
- (user-error "Buffer '%s' is not visiting a file!" (buffer-name))
- (read-string "Rename buffer and file (to new name): "
- (file-name-nondirectory (buffer-file-name))))))
- (let ((name (buffer-name))
- (filename (buffer-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)))))
-
-(defun cj/delete-buffer-and-file ()
- "Kill the current buffer and delete the file it visits."
- (interactive)
- (let ((filename (buffer-file-name)))
- (when filename
- (if (vc-backend filename)
- (vc-delete-file filename)
- (progn
- (delete-file filename t)
- (message "Deleted file %s" filename)
- (kill-buffer))))))
-
-(defun cj/copy-link-to-buffer-file ()
- "Copy the full file:// path of the current buffer's source file to the kill ring."
- (interactive)
- (let ((file-path (buffer-file-name)))
- (when file-path
- (setq file-path (concat "file://" file-path))
- (kill-new file-path)
- (message "Copied file link to kill ring: %s" file-path))))
-
-(defun cj/copy-path-to-buffer-file-as-kill ()
- "Copy the full path of the current buffer's file to the kill ring.
-Signal an error if the buffer is not visiting a file."
- (interactive)
- (let ((path (buffer-file-name)))
- (if (not path)
- (user-error "Current buffer is not visiting a file")
- (kill-new path)
- (message "Copied file path: %s" path)
- path)))
-
-(defun cj/copy-whole-buffer ()
- "Copy the entire contents of the current buffer to the kill ring.
-
-Point and mark are left exactly where they were. No transient region
-is created. A message is displayed when done."
- (interactive)
- (let ((contents (buffer-substring-no-properties (point-min) (point-max))))
- (kill-new contents)
- (message "Buffer contents copied to kill ring")))
-
-(defun cj/clear-to-bottom-of-buffer ()
- "Delete all text from point to the end of the current buffer.
-
-This does not save the deleted text in the kill ring."
- (interactive)
- (delete-region (point) (point-max))
- (message "Buffer contents removed to the end of the buffer."))
-
-(defun cj/clear-to-top-of-buffer ()
- "Delete all text from point to the beginning of the current buffer.
-
-Do not save the deleted text in the kill ring."
- (interactive)
- (delete-region (point) (point-min))
- (message "Buffer contents removed to the beginning of the buffer."))
-
-;; prints using postscript for much nicer output
-(use-package ps-print
- :ensure nil ;; built-in
- :config
- (defun cj/print-buffer-ps ()
- "Print the current buffer as PostScript (monochrome) to the system default printer.
-Sends directly to the spooler (no temp files), with no page header."
- (interactive)
- (let* ((spooler
- (cond
- ((executable-find "lpr") "lpr")
- ((executable-find "lp") "lp")
- (t (user-error "Cannot print: neither 'lpr' nor 'lp' found in PATH"))))
- ;; Configure spooler for this invocation
- (ps-lpr-command spooler)
- (ps-printer-name nil) ;; nil => system default printer
- (ps-lpr-switches nil)
- ;; Force monochrome and ignore face backgrounds for this job
- (ps-print-color-p nil)
- (ps-use-face-background nil)
- ;; Ensure no headers
- (ps-print-header nil)
- (ps-header-lines 0)
- (ps-left-header nil)
- (ps-right-header nil))
- (ps-print-buffer-with-faces)
- (message "Sent print job via %s to default printer (no header)" spooler))))
-
-;; Buffer & file operations prefix and keymap
-(define-prefix-command 'cj/buffer-and-file-map nil
- "Keymap for buffer-and-file operations.")
-(define-key cj/custom-keymap "b" 'cj/buffer-and-file-map)
-(define-key cj/buffer-and-file-map "m" 'cj/move-buffer-and-file)
-(define-key cj/buffer-and-file-map "r" 'cj/rename-buffer-and-file)
-(define-key cj/buffer-and-file-map "p" 'cj/print-buffer-ps)
-(define-key cj/buffer-and-file-map "d" 'cj/delete-buffer-and-file)
-(define-key cj/buffer-and-file-map "c" 'cj/copy-whole-buffer)
-(define-key cj/buffer-and-file-map "t" 'cj/clear-to-top-of-buffer)
-(define-key cj/buffer-and-file-map "b" 'cj/clear-to-bottom-of-buffer)
-(define-key cj/buffer-and-file-map "x" 'erase-buffer)
-(define-key cj/buffer-and-file-map "s" 'write-file) ;; save as :)
-
-(define-key cj/buffer-and-file-map "l" 'cj/copy-link-to-buffer-file)
-(define-key cj/buffer-and-file-map "P" 'cj/copy-path-to-buffer-file-as-kill)
-
;;; ---------------------- Whitespace Operations And Keymap ---------------------
(defun cj/remove-leading-trailing-whitespace ()