From ca8cb3fe218fab23ddb6e3a8262b7aa294e124cb Mon Sep 17 00:00:00 2001 From: William Carroll Date: Wed, 8 Jan 2020 15:16:26 +0000 Subject: Support utils for finding Emacs dotfiles and Org files Defined `dotfiles/find-emacs-file` and `org-helpers/find-file`, to clean up some of the `find-file` calls I have with long path names. This DRYs things up as well so that the path can be changed without breaking many other things. --- configs/shared/.emacs.d/wpc/dotfiles.el | 10 +++++++++ configs/shared/.emacs.d/wpc/org-helpers.el | 29 +++++++++++++++++++++++++++ configs/shared/.emacs.d/wpc/window-manager.el | 25 +++++++++++++---------- 3 files changed, 53 insertions(+), 11 deletions(-) create mode 100644 configs/shared/.emacs.d/wpc/org-helpers.el diff --git a/configs/shared/.emacs.d/wpc/dotfiles.el b/configs/shared/.emacs.d/wpc/dotfiles.el index f6deb82f16a7..ba15fd4d6b5b 100644 --- a/configs/shared/.emacs.d/wpc/dotfiles.el +++ b/configs/shared/.emacs.d/wpc/dotfiles.el @@ -6,7 +6,12 @@ ;;; Code: +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Dependencies +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + (require 'macros) +(require 'f) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; API @@ -39,6 +44,11 @@ dotfiles/whitelist :action (>> cdr find-file))) +(defun dotfiles/find-emacs-file (name) + "Call `find-file' on NAME located in dotfiles's emacs.d directory." + (find-file + (f-join "~/Dropbox/dotfiles/configs/shared/.emacs.d" name))) + (when dotfiles/install-kbds? (evil-leader/set-key "J" #'dotfiles/edit)) diff --git a/configs/shared/.emacs.d/wpc/org-helpers.el b/configs/shared/.emacs.d/wpc/org-helpers.el new file mode 100644 index 000000000000..ef99b18ee053 --- /dev/null +++ b/configs/shared/.emacs.d/wpc/org-helpers.el @@ -0,0 +1,29 @@ +;;; org-helpers.el --- Utility functions for working with my Org setup -*- lexical-binding: t -*- +;; Author: William Carroll + +;;; Commentary: +;; Some small utility functions intended to make me more likely to use Org mode +;; more often. + +;;; Code: + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Dependencies +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(require 'f) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Library +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(defconst org-helpers/directory "~/Dropbox/org" + "The directory where I store most of my Org files.") + +(defun org-helpers/find-file (name) + "Call `find-file' on NAME in my org directory" + (find-file + (f-join org-helpers/directory name))) + +(provide 'org-helpers) +;;; org-helpers.el ends here diff --git a/configs/shared/.emacs.d/wpc/window-manager.el b/configs/shared/.emacs.d/wpc/window-manager.el index 47419c5df93e..9f7beeecfafa 100644 --- a/configs/shared/.emacs.d/wpc/window-manager.el +++ b/configs/shared/.emacs.d/wpc/window-manager.el @@ -12,6 +12,10 @@ ;;; Code: +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Dependencies +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + (require 'prelude) (require 'string) (require 'cycle) @@ -19,6 +23,8 @@ (require 'kbd) (require 'ivy-helpers) (require 'display) +(require 'dotfiles) +(require 'org-helpers) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Library @@ -579,8 +585,7 @@ Currently using super- as the prefix for switching workspaces." ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (progn (exwm/switch "Project") - ;; (find-file constants/current-project) - ) + (find-file constants/current-project)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Scratch ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -600,20 +605,17 @@ Currently using super- as the prefix for switching workspaces." ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (progn (exwm/switch "Todos") - ;; (find-file "~/Dropbox/org/today.org") + (org-helpers/find-file "today.org") (wpc/evil-window-vsplit-right) - ;; (find-file "~/Dropbox/org/emacs.org") - ) + (org-helpers/find-file "emacs.org")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Dotfiles ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (progn (exwm/switch "Dotfiles") - ;; TODO: Support (dotfiles/find-file "window-manager.el")? - ;; (find-file "~/Dropbox/dotfiles/configs/shared/.emacs.d/init.el") + (dotfiles/find-emacs-file "init.el") (wpc/evil-window-vsplit-right) - ;; (find-file "~/Dropbox/dotfiles/configs/shared/.emacs.d/wpc/window-manager.el") - ) + (dotfiles/find-emacs-file "wpc/window-manager.el")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Chatter ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -640,8 +642,9 @@ Currently using super- as the prefix for switching workspaces." ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Reset to default ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - (exwm/switch "Dotfiles") - ))) + (exwm/switch "Dotfiles")))) + + (provide 'window-manager) ;;; window-manager.el ends here -- cgit 1.4.1