diff options
Diffstat (limited to 'lisp/td-functions.el')
-rw-r--r-- | lisp/td-functions.el | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/lisp/td-functions.el b/lisp/td-functions.el new file mode 100644 index 0000000..4475037 --- /dev/null +++ b/lisp/td-functions.el @@ -0,0 +1,64 @@ +;;; -*- lexical-binding: t; -*- + +(defun td/display-startup-time () + (message (if (daemonp) + "emacs daemon loaded in %s with %d garbage collections." + "emacs loaded in %s with %d garbage collections.") + (format "%.2f seconds" + (float-time + (time-subtract after-init-time before-init-time))) + gcs-done)) + +(defun td/set-font () + (when (display-graphic-p) + (message "Setting font...") + (set-face-attribute 'default nil + :font "Iosevka Comfy Motion Fixed" + :weight 'normal + :height 200) + (set-face-attribute 'fixed-pitch nil + :font "Iosevka Comfy Motion Fixed" + :weight 'normal + :height 200) + (set-face-attribute 'variable-pitch nil + :font "Iosevka Comfy Motion Fixed" + :weight 'normal + :height 200))) + +(defun td/increment-number-at-point (&optional increment) + "Increment number at point like vim's `C-a'." + (interactive "p") + (td/change-number-at-point '+ (or increment 2))) + +(defun td/decrement-number-at-point (&optional decrement) + "Decrement number at point like vim's `C-x'." + (interactive "p") + (td/change-number-at-point '- (or decrement 2))) + +(defun td/change-number-at-point (change operation) + "The generic logic for incrementing and decrementing numbers at point." + (search-forward-regexp (rx digit)) + (let ((number (number-at-point)) + (point (point))) + (when number + (forward-word) + (search-backward (number-to-string number)) + (replace-match (number-to-string (funcall change number operation))) + (goto-char (- point 1))))) + +(defun td/disable-theme () + "Disable all themes." + (interactive) + (dolist (theme custom-enabled-themes) + (disable-theme theme))) + +(defun td/toggle-theme () + "Toggle between light and dark modes." + (interactive) + (let ((theme (if (eq (car custom-enabled-themes) 'ef-dark) + 'ef-day + 'ef-dark))) + (td/disable-theme) + (load-theme theme t))) + +(provide 'td-functions) |