summaryrefslogtreecommitdiff
path: root/lisp/td-functions.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/td-functions.el')
-rw-r--r--lisp/td-functions.el64
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)