From f3af698787d3351376d04d315c87e3fcac853f06 Mon Sep 17 00:00:00 2001 From: William Moore Date: Fri, 12 Jul 2024 18:32:01 -0500 Subject: [PATCH] Update a buncha changes --- .gitignore | 3 + early-init.el | 12 ++-- init.el | 38 +++++----- thwap/thwap-configuration.el | 12 ---- thwap/thwap-defaults.el | 70 ------------------ {thwap.d => whomp.d}/.placeholder | 0 .../whomp-completion.el | 22 +++--- whomp/whomp-configuration.el | 12 ++++ .../whomp-dashboard.el | 12 ++-- whomp/whomp-defaults.el | 70 ++++++++++++++++++ whomp/whomp-dev-ext.el | 50 +++++++++++++ .../whomp-development.el | 40 +++++------ .../whomp-file-browser.el | 18 ++--- .../whomp-helpers.el | 24 +++---- .../whomp-interface.el | 47 ++++++------ .../whomp-orgmode.el | 72 +++++++++---------- 16 files changed, 273 insertions(+), 229 deletions(-) delete mode 100644 thwap/thwap-configuration.el delete mode 100644 thwap/thwap-defaults.el rename {thwap.d => whomp.d}/.placeholder (100%) rename thwap/thwap-completion.el => whomp/whomp-completion.el (54%) create mode 100644 whomp/whomp-configuration.el rename thwap/thwap-dashboard.el => whomp/whomp-dashboard.el (72%) create mode 100644 whomp/whomp-defaults.el create mode 100644 whomp/whomp-dev-ext.el rename thwap/thwap-development.el => whomp/whomp-development.el (73%) rename thwap/thwap-file-browser.el => whomp/whomp-file-browser.el (70%) rename thwap/thwap-helpers.el => whomp/whomp-helpers.el (78%) rename thwap/thwap-interface.el => whomp/whomp-interface.el (70%) rename thwap/thwap-orgmode.el => whomp/whomp-orgmode.el (69%) diff --git a/.gitignore b/.gitignore index 9b042f6..25d68ce 100644 --- a/.gitignore +++ b/.gitignore @@ -2,11 +2,13 @@ *.elc elpa/ melpa/ +whomp.d/*.el *.lock .org-id-locations org-roam.db scratch .emacs.desktop +emacs-custom.el recentf .cache* .lsp* @@ -16,3 +18,4 @@ bookmarks* history* tramp* var* +snippets/* diff --git a/early-init.el b/early-init.el index 4b29f36..1596268 100644 --- a/early-init.el +++ b/early-init.el @@ -3,10 +3,10 @@ ;; ;; Add the lib directory to the load path -(add-to-list 'load-path (expand-file-name "thwap" user-emacs-directory)) +(add-to-list 'load-path (expand-file-name "whomp" user-emacs-directory)) ;; Add the thwap.d directory to the load path -(add-to-list 'load-path (expand-file-name "thwap.d" user-emacs-directory)) +(add-to-list 'load-path (expand-file-name "whomp.d" user-emacs-directory)) ;; @@ -41,7 +41,7 @@ ;; Set up straight.el to use use-package (straight-use-package 'use-package) -(defun thwap/add-key-binding (key command help-text) - "Add a key binding to the T.H.W.A.P. keymap" - (define-key thwap-map (kbd key) command) - (add-to-list 'thwap-help-lines (format "%-12s: %s" (concat "C-c t " key) help-text))) +(defun whomp/add-key-binding (key command help-text) + "Add a key binding to the W.H.O.M.P. keymap" + (define-key whomp-map (kbd key) command) + (add-to-list 'whomp-help-lines (format "%-12s: %s" (concat "C-c w " key) help-text))) diff --git a/init.el b/init.el index 996d938..b2f0adc 100644 --- a/init.el +++ b/init.el @@ -8,40 +8,42 @@ '(mouse-autoselect-window t) '(mouse-drag-and-drop-region t) '(mouse-drag-and-drop-region-cross-program t) - '(thwap-development '(magitmode projectilemode pythonmode elpymode yamlmode)) - '(thwap-orgmode '(orgmode orgdownload orgroam orgpublish)) - '(thwap-ui-theme nil) '(tool-bar-mode nil) '(visible-bell 1)) +(setq custom-file "~/.emacs.d/emacs-custom.el") +(load custom-file) + ;;(custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. -;; '(default ((t (:family "Noto Sans Mono" :foundry "GOOG" :slant normal :weight regular :height 90 :width normal))))) +;; If there is more than one, they won't work right. +'(default ((t (:family "Noto Sans Mono" :foundry "GOOG" :slant normal :weight regular :height 90 :width normal)))) -;; thwap helpers -(require 'thwap-helpers) -;; thwap config -(require 'thwap-configuration) -;; thwap defaults -(require 'thwap-defaults) +;; whomp helpers +(require 'whomp-helpers) +;; whomp config +(require 'whomp-configuration) +;; whomp defaults +(require 'whomp-defaults) ;; theme configuration -(require 'thwap-interface) +(require 'whomp-interface) ;; file browser configuration -(require 'thwap-file-browser) +(require 'whomp-file-browser) ;; company configuration -(require 'thwap-completion) +(require 'whomp-completion) ;; development configuration -(require 'thwap-development) +(require 'whomp-development) +;; extended development configuration +(require 'whomp-dev-ext) ;; org configuration -(require 'thwap-orgmode) +(require 'whomp-orgmode) ;; dashboard -(require 'thwap-dashboard) +(require 'whomp-dashboard) ;; now that everything is loaded, let's load all the user configurations -(let ((user-config (thwap/list-files-with-extension "~/.emacs.d/thwap.d" "el"))) +(let ((user-config (whomp/list-files-with-extension "~/.emacs.d/whomp.d" "el"))) (dolist (config user-config) (load-file config))) (custom-set-faces diff --git a/thwap/thwap-configuration.el b/thwap/thwap-configuration.el deleted file mode 100644 index 40af1b9..0000000 --- a/thwap/thwap-configuration.el +++ /dev/null @@ -1,12 +0,0 @@ -;; -;; Define the custom variables for the T.H.W.A.P. Emacs configuration. -;; - -;; define the group -(defgroup thwap-config nil - "T.H.W.A.P. Emacs configuration group." - :group 'convenience - :prefix "thwap-") - -(message "T.H.W.A.P. Loaded thwap-config group.") -(provide 'thwap-configuration) diff --git a/thwap/thwap-defaults.el b/thwap/thwap-defaults.el deleted file mode 100644 index 1224c92..0000000 --- a/thwap/thwap-defaults.el +++ /dev/null @@ -1,70 +0,0 @@ - -;; -;; Set some defaults -;; - -;; automatically revert buffers when they change on disk -;; (global-auto-revert-mode f) -;; display line numbers, TODO make this a config option for line number style -;; (global-display-line-numbers-mode 1) -;; set our default warning level to error -(setq warning-minimum-level :error) -;; set the default tab width to 2 spaces -(setq-default tab-width 2) -(setq tab-width 2) -(setq indent-tabs-mode 1) -;; Set the default help lines -(setq thwap-help-lines '("--------------" - "All T.H.W.A.P. commands will start with 'C-c t'" - "" - "Welcome to the T.H.W.A.P. Emacs Dashboard")) - - -;; -;; Golden Ratio Mode helps with window sizing, and is a default feature -;; - -;; golden-ratio -;; (straight-use-package 'golden-ratio) -;; (golden-ratio-mode 1) -;; (setq golden-ratio-auto-scale t) -;; (message "Golden Ratio Mode Enabled") - -;; -;; Set up the T.H.W.A.P. keybindings -;; - -;; The T.H.W.A.P. Map -;; This is the base starting point for the T.H.W.A.P. keybindings -(define-prefix-command 'thwap-map) -(global-set-key (kbd "C-c t") 'thwap-map) - -;; Add a command to customize the T.H.W.A.P. group -(thwap/add-key-binding - "C-c" - (lambda () (interactive) (customize-group 'thwap-config)) - "Customize this T.H.W.A.P. Emacs Installation") - -;; quick commenting/uncommenting of a region is just too useful -(thwap/add-key-binding "c" 'comment-or-uncomment-region "Comment or uncomment region") - -;; eval buffer is also very useful -(thwap/add-key-binding "e b" 'eval-buffer "Eval buffer") - -(straight-use-package 'yasnippet) -(require 'yasnippet) -(setq yas-snippet-dirs '("~/.emacs.d/snippets")) -(message "Yasnippet loaded") - -(straight-use-package 'yasnippet-snippets) -(require 'yasnippet-snippets) -(yas-reload-all) -(yas-global-mode 1) -(message "Yasnippet-Snippets loaded") - -;; yasnippet stuff -(thwap/add-key-binding "y n" 'yas-new-snippet "Create a new yasnippet") - -(message "T.H.W.A.P. Defaults Loaded") -;; our provide statement -(provide 'thwap-defaults) diff --git a/thwap.d/.placeholder b/whomp.d/.placeholder similarity index 100% rename from thwap.d/.placeholder rename to whomp.d/.placeholder diff --git a/thwap/thwap-completion.el b/whomp/whomp-completion.el similarity index 54% rename from thwap/thwap-completion.el rename to whomp/whomp-completion.el index faee542..448bea4 100644 --- a/thwap/thwap-completion.el +++ b/whomp/whomp-completion.el @@ -4,23 +4,23 @@ ;; ;; company toggle -(defcustom thwap-completion nil +(defcustom whomp-completion nil "Choose the completion framework to use." :type '(choice (const :tag "None" nil) (const :tag "company" companycomp) (const :tag "helm" helmcomp) (const :tag "ivy" ivycomp)) - :group 'thwap-config) + :group 'whomp-config) ;; Company and auto-complete configuration -(when (and (eq 'companycomp thwap-completion) (not (eq 'helmcomp thwap-completion)) (not (eq 'ivycomp thwap-completion))) +(when (and (eq 'companycomp whomp-completion) (not (eq 'helmcomp whomp-completion)) (not (eq 'ivycomp whomp-completion))) (straight-use-package 'company) (add-hook 'after-init-hook 'global-company-mode) (message "Company completion enabled.")) ;; If ivy is enabled, install and configure it -(when (and (eq 'ivycomp thwap-completion) (not (eq 'companycomp thwap-completion)) (not (eq 'helmcomp thwap-completion))) +(when (and (eq 'ivycomp whomp-completion) (not (eq 'companycomp whomp-completion)) (not (eq 'helmcomp whomp-completion))) (straight-use-package 'ivy) (ivy-mode 1) (setq ivy-use-virtual-buffers t) @@ -28,28 +28,28 @@ (message "Ivy completion enabled.")) ;; If helm is enabled, install and configure it -(when (and (eq 'helmcomp thwap-completion) (not (eq 'companycomp thwap-completion)) (not (eq 'ivycomp thwap-completion))) +(when (and (eq 'helmcomp whomp-completion) (not (eq 'companycomp whomp-completion)) (not (eq 'ivycomp whomp-completion))) (straight-use-package 'helm) (helm-mode 1) (message "Helm completion enabled.")) ;; If all are enabled, choose company -(when (or (and (eq 'companycomp thwap-completion) (eq 'helmcomp thwap-completion) (eq 'ivycomp thwap-completion)) - (and (eq 'companycomp thwap-completion) (eq 'helmcomp thwap-completion) (not (eq 'ivycomp thwap-completion))) - (and (eq 'companycomp thwap-completion) (eq 'ivycomp thwap-completion) (not (eq 'helmcomp thwap-completion)))) +(when (or (and (eq 'companycomp whomp-completion) (eq 'helmcomp whomp-completion) (eq 'ivycomp whomp-completion)) + (and (eq 'companycomp whomp-completion) (eq 'helmcomp whomp-completion) (not (eq 'ivycomp whomp-completion))) + (and (eq 'companycomp whomp-completion) (eq 'ivycomp whomp-completion) (not (eq 'helmcomp whomp-completion)))) (straight-use-package 'company) (add-hook 'after-init-hook 'global-company-mode) (message "There can be only one. Company completion picked.")) ;; if helm and ivy are enabled, choose ivy -(when (and (eq 'helmcomp thwap-completion) (eq 'ivycomp thwap-completion) (not (eq 'companycomp thwap-completion))) +(when (and (eq 'helmcomp whomp-completion) (eq 'ivycomp whomp-completion) (not (eq 'companycomp whomp-completion))) (straight-use-package 'ivy) (ivy-mode 1) (setq ivy-use-virtual-buffers t) (setq enable-recursive-minibuffers t) (message "There can be only one. Ivy completion picked.")) -(message "T.H.W.A.P. Completion configuration complete.") -(provide 'thwap-completion) +(message "W.H.O.M.P. Completion configuration complete.") +(provide 'whomp-completion) diff --git a/whomp/whomp-configuration.el b/whomp/whomp-configuration.el new file mode 100644 index 0000000..22ca183 --- /dev/null +++ b/whomp/whomp-configuration.el @@ -0,0 +1,12 @@ +;; +;; Define the custom variables for the W.H.O.M.P. Emacs configuration. +;; + +;; define the group +(defgroup whomp-config nil + "W.H.O.M.P. Emacs configuration group." + :group 'convenience + :prefix "whomp-") + +(message "W.H.O.M.P. Loaded whomp-config group.") +(provide 'whomp-configuration) diff --git a/thwap/thwap-dashboard.el b/whomp/whomp-dashboard.el similarity index 72% rename from thwap/thwap-dashboard.el rename to whomp/whomp-dashboard.el index 19f52e5..57296f8 100644 --- a/thwap/thwap-dashboard.el +++ b/whomp/whomp-dashboard.el @@ -1,9 +1,9 @@ (straight-use-package 'dashboard) (dashboard-setup-startup-hook) -(setq dashboard-banner-logo-title (thwap/dashboard-build-logo-title thwap-help-lines)) -;; "Welcome to the T.H.W.A.P. Emacs Dashboard") -(setq dashboard-startup-banner (thwap/random-string-from-list (thwap/list-files-with-extension "~/.emacs.d/logos" "png"))) +(setq dashboard-banner-logo-title (whomp/dashboard-build-logo-title whomp-help-lines)) +;; "Welcome to the W.H.O.M.P. Emacs Dashboard") +(setq dashboard-startup-banner (whomp/random-string-from-list (whomp/list-files-with-extension "~/.emacs.d/logos" "png"))) (setq initial-buffer-choice (lambda () (get-buffer-create dashboard-buffer-name))) (setq dashboard-center-content t) (setq dashboard-vertically-center-content t) @@ -21,6 +21,6 @@ dashboard-insert-newline dashboard-insert-footer)) -(message "T.H.W.A.P. Dashboard loaded") -(provide 'thwap-dashboard) -;;; thwap-dashboard.el ends here +(message "W.H.O.M.P. Dashboard loaded") +(provide 'whomp-dashboard) +;;; whomp-dashboard.el ends here diff --git a/whomp/whomp-defaults.el b/whomp/whomp-defaults.el new file mode 100644 index 0000000..589b73a --- /dev/null +++ b/whomp/whomp-defaults.el @@ -0,0 +1,70 @@ + +;; +;; Set some defaults +;; + +;; automatically revert buffers when they change on disk +(global-auto-revert-mode t) +;; display line numbers, TODO make this a config option for line number style +(global-display-line-numbers-mode 1) +;; set our default warning level to error +(setq warning-minimum-level :error) +;; set the default tab width to 2 spaces +(setq-default tab-width 2) +(setq tab-width 2) +(setq indent-tabs-mode 1) +;; Set the default help lines +(setq whomp-help-lines '("--------------" + "All W.H.O.M.P. commands will start with 'C-c w'" + "" + "Welcome to the W.H.O.M.P. Emacs Dashboard")) + + +;; +;; Golden Ratio Mode helps with window sizing, and is a default feature +;; + +;; golden-ratio +(straight-use-package 'golden-ratio) +(golden-ratio-mode 1) +(setq golden-ratio-auto-scale t) +(message "Golden Ratio Mode Enabled") + +;; +;; Set up the W.H.O.M.P. keybindings +;; + +;; The W.H.O.M.P. Map +;; This is the base starting point for the W.H.O.M.P. keybindings +(define-prefix-command 'whomp-map) +(global-set-key (kbd "C-c w") 'whomp-map) + +;; Add a command to customize the W.H.O.M.P. group +(whomp/add-key-binding + "C-c" + (lambda () (interactive) (customize-group 'whomp-config)) + "Customize this W.H.O.M.P. Emacs Installation") + +;; quick commenting/uncommenting of a region is just too useful +(whomp/add-key-binding "c" 'comment-or-uncomment-region "Comment or uncomment region") + +;; eval buffer is also very useful +(whomp/add-key-binding "e b" 'eval-buffer "Eval buffer") + +(straight-use-package 'yasnippet) +(require 'yasnippet) +(setq yas-snippet-dirs '("~/.emacs.d/snippets")) +(message "Yasnippet loaded") + +(straight-use-package 'yasnippet-snippets) +(require 'yasnippet-snippets) +(yas-reload-all) +(yas-global-mode 1) +(message "Yasnippet-Snippets loaded") + +;; yasnippet stuff +(whomp/add-key-binding "y n" 'yas-new-snippet "Create a new yasnippet") + +(message "W.H.O.M.P. Defaults Loaded") +;; our provide statement +(provide 'whomp-defaults) diff --git a/whomp/whomp-dev-ext.el b/whomp/whomp-dev-ext.el new file mode 100644 index 0000000..4c7a67b --- /dev/null +++ b/whomp/whomp-dev-ext.el @@ -0,0 +1,50 @@ +;; +;; Extended development assistance packages +;; These are the packages uncommon to most developers but are +;; necessary to those they're necessary! +;; + +(defcustom whomp-dev-ext nil + "Whether or not to enable extended development assistance packages." + :type '(set (const :tag "None" nil) + (const :tag "copilot" copilotmode) ;; code completion + (const :tag "terraform" terraformmode) ;; terraform language support + ) + :group 'whomp-config) + +;; terraform-mode +(when (memq 'terraformmode whomp-dev-ext) + (use-package terraform-mode + :straight t + :defer t) + (when (eq 'company whomp-completion) + (use-package company-terraform + :straight t + :defer t + :config + (add-hook 'terraform-mode-hook #'company-terraform-init)) + (add-hook 'terraform-mode-hook #'terraform-format-on-save-mode) + (add-hook 'terraform-mode-hook #'terraform-format-on-save-mode)) + (message "terraform-mode loaded")) + +(when (memq 'copilotmode whomp-development) + (use-package dash + :straight t + :defer t) + (use-package editorconfig + :straight t + :defer t) + (use-package copilot + :straight (:host github :repo "zerolfx/copilot.el" :files ("dist" "*.el")) + :defer t + :ensure t + :config + ;; you can utilize :map :hook and :config to customize copilot + (add-hook 'prog-mode-hook 'copilot-mode) + (define-key copilot-completion-map (kbd "") 'copilot-accept-completion) + (define-key copilot-completion-map (kbd "TAB") 'copilot-accept-completion)) + (message "copilot loaded")) + +(message "W.H.O.M.P. extended development assistance packages loaded") +(provide 'whomp-dev-ext) +;; whomp-dev-ext.el ends here diff --git a/thwap/thwap-development.el b/whomp/whomp-development.el similarity index 73% rename from thwap/thwap-development.el rename to whomp/whomp-development.el index bce2119..076e4e5 100644 --- a/thwap/thwap-development.el +++ b/whomp/whomp-development.el @@ -4,7 +4,7 @@ ;; ;; dev layer toggles -(defcustom thwap-development nil +(defcustom whomp-development nil "Whether or not to enable development assistance packages." :type '(set (const :tag "None" nil) (const :tag "lsp" lspmode) ;; generally required for other modes @@ -14,41 +14,41 @@ (const :tag "python" pythonmode) ;; python language support (const :tag "elpy" elpymode) ;; python language support (elpy) (const :tag "yaml" yamlmode)) ;; yaml language support - :group 'thwap-config) + :group 'whomp-config) ;; lsp-mode -(when (memq 'lspmode thwap-development) +(when (memq 'lspmode whomp-development) (straight-use-package 'lsp-mode) (straight-use-package 'lsp-ui) - (when (eq 'treemacs thwap-dirbrowser) + (when (eq 'treemacs whomp-dirbrowser) (straight-use-package 'lsp-treemacs)) (setq gc-cons-threshold 100000000) (setq read-process-output-max (* 1024 1024)) - (thwap/add-key-binding "l" 'lsp-keymap-prefix "lsp-keymap-prefix") + (whomp/add-key-binding "l" 'lsp-keymap-prefix "lsp-keymap-prefix") (straight-use-package 'eglot) (require 'eglot) (message "lsp-mode loaded")) ;; magit -(when (memq 'magitmode thwap-development) +(when (memq 'magitmode whomp-development) (straight-use-package 'magit) (straight-use-package 'forge) (straight-use-package 'magit-todos) - (thwap/add-key-binding "g s" 'magit-status "Git status (magit entrypoint)") - (thwap/add-key-binding "g l" 'magit-log "Git log (magit entrypoint") - (thwap/add-key-binding "g b" 'magit-blame "Git blame (magit entrypoint") - (thwap/add-key-binding "g f" 'magit-find-file "Git find file (magit entrypoint") + (whomp/add-key-binding "g s" 'magit-status "Git status (magit entrypoint)") + (whomp/add-key-binding "g l" 'magit-log "Git log (magit entrypoint") + (whomp/add-key-binding "g b" 'magit-blame "Git blame (magit entrypoint") + (whomp/add-key-binding "g f" 'magit-find-file "Git find file (magit entrypoint") (message "magit loaded")) ;; projectile -(when (memq 'projectilemode thwap-development) +(when (memq 'projectilemode whomp-development) (straight-use-package 'projectile) - (thwap/add-key-binding "p" 'projectile-command-map "Projectile commands") + (whomp/add-key-binding "p" 'projectile-command-map "Projectile commands") (message "projectile loaded")) ;; go-mode -(when (memq 'gomode thwap-development) +(when (memq 'gomode whomp-development) (straight-use-package 'go-mode) (straight-use-package 'go-eldoc) (straight-use-package 'go-projectile) @@ -64,11 +64,11 @@ (message "go-mode loaded")) ;; python-mode -(when (memq 'pythonmode thwap-development) - (when (memq 'elpymode thwap-development) +(when (memq 'pythonmode whomp-development) + (when (memq 'elpymode whomp-development) (straight-use-package 'elpy) (elpy-enable)) - (when (not (memq 'elpymode thwap-development)) + (when (not (memq 'elpymode whomp-development)) (add-hook 'python-mode-hook (lambda () (setq-local tab-width 2))) (add-hook 'python-mode-hook #'lsp-deferred)) @@ -82,7 +82,7 @@ (message "python-mode loaded")) ;; yaml-mode -(when (memq 'yamlmode thwap-development) +(when (memq 'yamlmode whomp-development) (straight-use-package 'yaml-mode) (add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-mode)) (add-to-list 'auto-mode-alist '("\\.yaml\\'" . yaml-mode)) @@ -95,6 +95,6 @@ (message "yaml-mode loaded")) -(message "T.H.W.A.P. development assistance packages loaded") -(provide 'thwap-development) -;; thwap-development.el ends here +(message "W.H.O.M.P. development assistance packages loaded") +(provide 'whomp-development) +;; whomp-development.el ends here diff --git a/thwap/thwap-file-browser.el b/whomp/whomp-file-browser.el similarity index 70% rename from thwap/thwap-file-browser.el rename to whomp/whomp-file-browser.el index bcbc630..4294e60 100644 --- a/thwap/thwap-file-browser.el +++ b/whomp/whomp-file-browser.el @@ -3,28 +3,28 @@ ;; Tree browser packages ;; -(defcustom thwap-dirbrowser nil +(defcustom whomp-dirbrowser nil "Whether or not to enable treemacs." :type '(choice (const :tag "None" nil) (const :tag "neotree" neotree) (const :tag "treemacs" treemacs)) - :group 'thwap-config) + :group 'whomp-config) ;; ;; File Tree Browser ;; -(when (eq 'neotree thwap-dirbrowser) +(when (eq 'neotree whomp-dirbrowser) (use-package neotree :straight t :config (global-set-key [f8] 'neotree-toggle) - (thwap/add-key-binding "C-n" 'neotree-toggle "Toggle Neotree")) + (whomp/add-key-binding "C-n" 'neotree-toggle "Toggle Neotree")) (message "neotree loaded")) -(when (eq 'treemacs thwap-dirbrowser) +(when (eq 'treemacs whomp-dirbrowser) (use-package treemacs :straight t :ensure t @@ -44,10 +44,10 @@ treemacs-never-persist nil treemacs-is-never-other-window t treemacs-goto-tag-strategy 'refetch-index))) - (thwap/add-key-binding "C-t" 'treemacs "Toggle Treemacs") - (when (memq 'kaolinthemes thwap-ui-themes) + (whomp/add-key-binding "C-t" 'treemacs "Toggle Treemacs") + (when (memq 'kaolinthemes whomp-ui-themes) (kaolin-treemacs-theme)) (message "treemacs loaded")) -(message "T.H.W.A.P. Directory browser configuration loaded.") -(provide 'thwap-file-browser) +(message "W.H.O.M.P. Directory browser configuration loaded.") +(provide 'whomp-file-browser) diff --git a/thwap/thwap-helpers.el b/whomp/whomp-helpers.el similarity index 78% rename from thwap/thwap-helpers.el rename to whomp/whomp-helpers.el index 36f3362..1b8e918 100644 --- a/thwap/thwap-helpers.el +++ b/whomp/whomp-helpers.el @@ -2,7 +2,7 @@ ;; Helper functions for the dashboard ;; -(defun thwap/dashboard-insert-logo-title (banner) +(defun whomp/dashboard-insert-logo-title (banner) "Insert BANNER into the dashboard buffer. BANNER can be a single string, which will be centered, or a list of strings, which will be displayed with line breaks between them." @@ -15,12 +15,12 @@ which will be displayed with line breaks between them." (insert (propertize line 'face 'dashboard-banner-logo-title)) (insert "\n")))) -(defun thwap/dashboard-build-logo-title (lst) +(defun whomp/dashboard-build-logo-title (lst) "Build a list of strings from LST to display as the banner. LST is reversed and concatenated into a single string with line breaks." (mapconcat 'identity (reverse lst) "\n")) -(defun thwap/random-string-from-list (strings) +(defun whomp/random-string-from-list (strings) "Return a random string from STRINGS." (let ((index (random (length strings)))) (nth index strings))) @@ -30,14 +30,14 @@ LST is reversed and concatenated into a single string with line breaks." ;; ;; Function to create a directory if it doesn't exist -(defun thwap/ensure-directory-exists (dir) +(defun whomp/ensure-directory-exists (dir) "Ensure the directory DIR exists. If not, create it." (unless (file-directory-p dir) (message "Creating missing directory: %s" dir) (make-directory dir t))) ;; Function to list all files in a directory with a given extension -(defun thwap/list-files-with-extension (dir extension) +(defun whomp/list-files-with-extension (dir extension) "Recursively list all files in DIR with the given EXTENSION, suitable for org-agenda-files." (let ((files '())) (dolist (file (directory-files-recursively dir (concat "\\." extension "\\'"))) @@ -49,23 +49,23 @@ LST is reversed and concatenated into a single string with line breaks." ;; ;; Function to get a unique filename for Org-capture -(defun thwap/org-capture-get-unique-filename () +(defun whomp/org-capture-get-unique-filename () "Generate a unique filename for Org-capture." (let ((filename (format "~/.org-agenda/syncup__issue__%s.org" (format-time-string "%Y%m%d%H%M%S")))) (message "Inside function: Generated filename: %s" filename) filename)) ;; Function to update org-agenda-files -(defun thwap/org-agenda-files-update () +(defun whomp/org-agenda-files-update () "Update the `org-agenda-files` variable. This function sets `org-agenda-files` and `org-timeblock-files` to the list of all `.org` files in the `~/.org-agenda` directory, and sets `org-timeblock-inbox-file` to `~/org/agenda/index.org`." - (setq org-agenda-files (thwap/list-files-with-extension "~/org/agenda" "org")) - (setq org-timeblock-files (thwap/list-files-with-extension "~/org/agenda" "org")) + (setq org-agenda-files (whomp/list-files-with-extension "~/org/agenda" "org")) + (setq org-timeblock-files (whomp/list-files-with-extension "~/org/agenda" "org")) (setq org-timeblock-inbox-file "~/org/agenda/index.org")) -(message "T.H.W.A.P. Loaded helper function library.") -(provide 'thwap-helpers) -;;; thwap-helpers.el ends here +(message "W.H.O.M.P. Loaded helper function library.") +(provide 'whomp-helpers) +;;; whomp-helpers.el ends here diff --git a/thwap/thwap-interface.el b/whomp/whomp-interface.el similarity index 70% rename from thwap/thwap-interface.el rename to whomp/whomp-interface.el index e661716..ff7c7c5 100644 --- a/thwap/thwap-interface.el +++ b/whomp/whomp-interface.el @@ -4,72 +4,67 @@ ;; ;; modus themes toggle -(defcustom thwap-ui-themes nil +(defcustom whomp-ui-themes nil "Choose the themes to install." :type '(set (const :tag "Modus themes" modusthemes) (const :tag "Doom themes" doomthemes) (const :tag "Sublime themes" sublimethemes) (const :tag "Kaolin themes" kaolinthemes) (const :tag "Alect themes" alectthemes) - (const :tag "Wombat themes" wombat)) - :group 'thwap-config) + (const :tag "Wombat themes" wombatthemes)) + :group 'whomp-config) ;; theme to load -(defcustom thwap-ui-theme nil +(defcustom whomp-ui-theme nil "Name of the theme to load." - :type 'string - :group 'thwap-config) + :group 'whomp-config) ;; all-the-icons toggle -(defcustom thwap-ui-icons nil +(defcustom whomp-ui-icons nil "Choose the icon sets to install." :type '(choice (const :tag "None" nil) (const :tag "All-the-icons" alltheicons) (const :tag "Nerd-icons" nerdicons)) - :group 'thwap-config) + :group 'whomp-config) - ; theme bits +;; theme bits -(when (memq 'modusthemes thwap-ui-themes) +(when (memq 'modusthemes whomp-ui-themes) (straight-use-package 'modus-themes) (require 'modus-themes) (message "Modus themes loaded.")) -(when (memq 'doomthemes thwap-ui-themes) +(when (memq 'doomthemes whomp-ui-themes) (straight-use-package 'doom-themes) (require 'doom-themes) (message "Doom themes loaded.")) -(when (memq 'sublimethemes thwap-ui-themes) +(when (memq 'sublimethemes whomp-ui-themes) (straight-use-package 'sublime-themes) (require 'sublime-themes) (message "Sublime themes loaded.")) -(when (memq 'kaolinthemes thwap-ui-themes) +(when (memq 'kaolinthemes whomp-ui-themes) (straight-use-package 'kaolin-themes) (require 'kaolin-themes) (message "Kaolin themes loaded.")) -(when (memq 'alectthemes thwap-ui-themes) +(when (memq 'alectthemes whomp-ui-themes) (straight-use-package 'alect-themes) (require 'alect-themes) (message "Alect themes loaded.")) -(when (memq 'wombat thwap-ui-themes) - '(thwap-ui-theme 'wombat) - (message "Wombat themes loaded.")) - ;; load the theme specified in the config if it is set ;; if things look wonky, you probably either need to install the ;; theme or you need to check your spelling. -(if thwap-ui-theme - (load-theme thwap-ui-theme :no-confirm) - (message "Theme loaded: %s" thwap-ui-theme)) +(if whomp-ui-theme + (load-theme whomp-ui-theme :no-confirm) + (message "Theme loaded: %s" whomp-ui-theme)) ;; icon bits -(when (and (eq 'alltheicons thwap-ui-icons) (not (eq 'nerdicons thwap-ui-icons))) +(when (and (eq 'alltheicons whomp-ui-icons) (not (eq 'nerdicons whomp-ui-icons))) (use-package all-the-icons :ensure t :straight t @@ -82,7 +77,7 @@ (all-the-icons-completion-mode 1)) (message "All-the-icons loaded.")) -(when (and (eq 'nerdicons thwap-ui-icons) (not (eq 'alltheicons thwap-ui-icons))) +(when (and (eq 'nerdicons whomp-ui-icons) (not (eq 'alltheicons whomp-ui-icons))) (use-package nerd-icons :straight (nerd-icons :type git @@ -97,7 +92,7 @@ ) (message "Nerd-icons loaded.")) -(when (and (eq 'nerdicons thwap-ui-icons) (eq 'alltheicons thwap-ui-icons)) +(when (and (eq 'nerdicons whomp-ui-icons) (eq 'alltheicons whomp-ui-icons)) (message "Both all-the-icons and nerd-icons are enabled. Disabling nerd-icons.") (use-package all-the-icons-dired :ensure t @@ -112,5 +107,5 @@ (message "All-the-icons loaded.")) -(message "T.H.W.A.P. Interface settings loaded.") -(provide 'thwap-interface) +(message "W.H.O.M.P. Interface settings loaded.") +(provide 'whomp-interface) diff --git a/thwap/thwap-orgmode.el b/whomp/whomp-orgmode.el similarity index 69% rename from thwap/thwap-orgmode.el rename to whomp/whomp-orgmode.el index 3f30b73..c034f50 100644 --- a/thwap/thwap-orgmode.el +++ b/whomp/whomp-orgmode.el @@ -3,7 +3,7 @@ ;; ;; org layer toggles -(defcustom thwap-orgmode nil +(defcustom whomp-orgmode nil "Choose from the available org-mode packages" :type '(set (const :tag "Org" orgmode) (const :tag "Org-Bullets" orgbullets) @@ -14,23 +14,23 @@ (const :tag "Org-Transclusion" orgtransclusion) (const :tag "Org-Roam" orgroam) (const :tag "Org-Publish" orgpublish)) - :group 'thwap-config) + :group 'whomp-config) ;; org-babel extras -(defcustom thwap-orgbabel nil +(defcustom whomp-orgbabel nil "Choose extra packages for org-babel" :type '(set (const :tag "ob-mermaid" obmermaid) (const :tag "ob-napkin" obnapkin)) - :group 'thwap-config) + :group 'whomp-config) ;; ;; Ensure Org mode is installed and loaded ;; ;; base -(when (memq 'orgmode thwap-orgmode) +(when (memq 'orgmode whomp-orgmode) (straight-use-package 'org) - (thwap/ensure-directory-exists "~/org") + (whomp/ensure-directory-exists "~/org") (setq browse-url-browser-function 'browse-url-generic browse-url-generic-program "firefox-esr" org-log-done 'time @@ -41,7 +41,7 @@ org-default-notes-file "~/org/index.org" org-export-with-sub-superscripts t org-export-with-toc t) - (thwap/org-agenda-files-update) + (whomp/org-agenda-files-update) (setq org-todo-keywords '((sequence "TODO(t)" "WAITING(w)" "BLOCKED(b)" "|" "IN-PROGRESS(i)") (sequence "WONTDO(o)" "DEPRECATED(e)" "STUPID(s)" "|" "DONE(d)"))) @@ -67,50 +67,50 @@ (org . t) (ruby . t) (shell . t))) - (add-hook 'org-mode-hook 'thwap/org-agenda-files-update) + (add-hook 'org-mode-hook 'whomp/org-agenda-files-update) (add-hook 'org-mode-hook 'visual-line-mode) ;; Org mode stuff - (thwap/add-key-binding "o l" 'org-store-link "Store a link to the current location in the kill ring.") - (thwap/add-key-binding "o C-l" 'org-toggle-link-display "Toggle the display of links.") - (thwap/add-key-binding "o a" 'org-agenda "Open the Org agenda.") - (thwap/add-key-binding "o n" 'org-capture "Capture a new task.") - (thwap/add-key-binding "o t" 'org-todo-list "Open the Org TODO list.") - (thwap/add-key-binding "o c i" 'org-clock-in "Clock in to the current task.") - (thwap/add-key-binding "o c o" 'org-clock-out "Clock out of the current task.") - (thwap/add-key-binding "o c r" 'org-clock-report "Generate a clock report.") - (thwap/add-key-binding "o r" 'org-refile "Refile the current task.") - (thwap/add-key-binding "o e" 'org-export-dispatch "Export the current buffer.") + (whomp/add-key-binding "o l" 'org-store-link "Store a link to the current location in the kill ring.") + (whomp/add-key-binding "o C-l" 'org-toggle-link-display "Toggle the display of links.") + (whomp/add-key-binding "o a" 'org-agenda "Open the Org agenda.") + (whomp/add-key-binding "o n" 'org-capture "Capture a new task.") + (whomp/add-key-binding "o t" 'org-todo-list "Open the Org TODO list.") + (whomp/add-key-binding "o c i" 'org-clock-in "Clock in to the current task.") + (whomp/add-key-binding "o c o" 'org-clock-out "Clock out of the current task.") + (whomp/add-key-binding "o c r" 'org-clock-report "Generate a clock report.") + (whomp/add-key-binding "o r" 'org-refile "Refile the current task.") + (whomp/add-key-binding "o e" 'org-export-dispatch "Export the current buffer.") (message "org-mode loaded")) ;; org-bullets -(when (and (memq 'orgmode thwap-orgmode) (memq 'orgbullets thwap-orgmode)) +(when (and (memq 'orgmode whomp-orgmode) (memq 'orgbullets whomp-orgmode)) (straight-use-package 'org-bullets) (add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))) (message "org-bullets loaded")) ;; org-super-agenda -(when (and (memq 'orgmode thwap-orgmode) (memq 'orgsuperagenda thwap-orgmode)) +(when (and (memq 'orgmode whomp-orgmode) (memq 'orgsuperagenda whomp-orgmode)) (straight-use-package 'org-super-agenda) (add-hook 'org-agenda-mode-hook 'org-super-agenda-mode) (message "org-super-agenda loaded")) ;; org-modern -(when (and (memq 'orgmode thwap-orgmode) (memq 'orgmodern thwap-orgmode)) +(when (and (memq 'orgmode whomp-orgmode) (memq 'orgmodern whomp-orgmode)) (straight-use-package 'org-modern) (message "org-modern loaded")) ;; org-timeblock -(when (and (memq 'orgmode thwap-orgmode) (memq 'orgtimeblock thwap-orgmode)) +(when (and (memq 'orgmode whomp-orgmode) (memq 'orgtimeblock whomp-orgmode)) (straight-use-package 'org-timeblock) (message "org-timeblock loaded")) ;; org-download -(when (and (memq 'orgmode thwap-orgmode) (memq 'orgdownload thwap-orgmode)) +(when (and (memq 'orgmode whomp-orgmode) (memq 'orgdownload whomp-orgmode)) (add-hook 'dired-mode-hook 'org-download-enable) (message "org-download loaded")) ;; org-roam -(when (and (memq 'orgmode thwap-orgmode) (memq 'orgroam thwap-orgmode)) +(when (and (memq 'orgmode whomp-orgmode) (memq 'orgroam whomp-orgmode)) (straight-use-package 'org-roam) (org-roam-db-autosync-mode) (setq org-roam-v2-ack t) @@ -120,14 +120,9 @@ (setq org-roam-capture-templates '(("d" "default" plain "%?" :if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n") - :unnarrowed t))) - ;; (add-hook 'after-init-hook 'org-roam) - ;; (add-hook 'org-mode-hook 'org-roam) - ;;(add-hook 'org-mode-hook 'org-roam-ui-mode) + :unnarrowed t)))) - ) - -(when (and (memq 'orgmode thwap-orgmode) (memq 'orgpublish thwap-orgmode)) +(when (and (memq 'orgmode whomp-orgmode) (memq 'orgpublish whomp-orgmode)) (require 'ox-publish) (setq org-publish-project-alist '( @@ -140,28 +135,27 @@ :headline-levels 4 ; Just the default for this project. :auto-preamble t ) - )) -) + ))) ;; ;; org-roam-ui -;; (when (and thwap-org-enable-org thwap-org-enable-org-roam thwap-org-enable-org-roam-ui) +;; (when (and whomp-org-enable-org whomp-org-enable-org-roam whomp-org-enable-org-roam-ui) ;; (straight-use-package 'org-roam-ui) ;; (setq org-roam-ui-sync-theme t) ;; (setq org-roam-ui-follow t) ;; (setq org-roam-ui-update-on-save t)) ;; org-transclusion -(when (and (memq 'orgmode thwap-orgmode) (memq 'orgtransclusion thwap-orgmode)) +(when (and (memq 'orgmode whomp-orgmode) (memq 'orgtransclusion whomp-orgmode)) (straight-use-package 'org-transclusion) (message "org-transclusion loaded")) ;; ob-mermaid -(when (and (memq 'orgmode thwap-orgmode) (memq 'obmermaid thwap-orgbabel)) +(when (and (memq 'orgmode whomp-orgmode) (memq 'obmermaid whomp-orgbabel)) (straight-use-package 'ob-mermaid) (add-to-list 'org-src-lang-modes '("mermaid" . mermaid)) (add-to-list 'org-babel-load-languages '(mermaid . t)) (message "ob-mermaid loaded")) -(message "T.H.W.A.P. Org-Mode settings loaded") -(provide 'thwap-orgmode) -;; thwap-orgmode.el ends here +(message "W.H.O.M.P. Org-Mode settings loaded") +(provide 'whomp-orgmode) +;; whomp-orgmode.el ends here