From 45d179a4c3e3696798f53b8109868d4a5aa8ad31 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 23 Feb 2022 10:16:48 -0600 Subject: Remove :local-repo directive It just doesn't seem to work the way I'm using it. --- init.el | 83 ++++++++++++++++++++++++++++++++------------------------- lisp/+org.el | 49 ++++++++++++++++++++++++++++++++++ machines/bob.el | 1 + 3 files changed, 97 insertions(+), 36 deletions(-) diff --git a/init.el b/init.el index d295742..7f2c199 100644 --- a/init.el +++ b/init.el @@ -72,7 +72,8 @@ (setup (:require autoinsert) (setf (alist-get "\\.scm" auto-insert-alist nil nil #'equal) '(insert "#!/bin/sh\n#| -*- scheme -*-\nexec csi -s $0 \"$@\"\n|#\n")) - (auto-insert-mode +1)) +;; (auto-insert-mode +1) + ) (setup (:require cus-edit) ;; I don't use Custom to actually /make/ any customizations, but it's handy to @@ -283,18 +284,18 @@ "\\" #'+ecomplete-remove-email))) (add-hook 'message-sent-hook #'message-put-addresses-in-ecomplete)) -(setup ehelp - ;; Trying this instead of `helpful' - (:global [help] 'ehelp-command - [f1] 'ehelp-command) - (with-eval-after-load 'vertico-multiform - (dolist (cmd '(electric-describe-key - electric-describe-mode - electric-describe-syntax - electric-describe-bindings - electric-describe-function - electric-describe-variable)) - (setf (alist-get cmd vertico-multiform-commands) nil)))) +;; (setup ehelp +;; ;; Trying this instead of `helpful' +;; (:global [help] 'ehelp-command +;; [f1] 'ehelp-command) +;; (with-eval-after-load 'vertico-multiform +;; (dolist (cmd '(electric-describe-key +;; electric-describe-mode +;; electric-describe-syntax +;; electric-describe-bindings +;; electric-describe-function +;; electric-describe-variable)) +;; (setf (alist-get cmd vertico-multiform-commands) nil)))) (setup eldoc (:hook-into elisp-mode @@ -569,6 +570,7 @@ org-tags-column (- (- fill-column (length org-ellipsis))) org-todo-keywords '((sequence "TODO(t)" "WAIT(w@/!)" "|" "DONE(d!)") + (sequence "ONGOING(o@)") (sequence "|" "CANCELED(k@)") (sequence "MEETING(m)")) org-emphasis-alist '(("*" org-bold) @@ -1398,10 +1400,10 @@ See also `crux-reopen-as-root-mode'." (setup (:straight eshell-syntax-highlighting) (:hook-into eshell-mode)) -(setup (:straight eshell-vterm) - (:load-after eshell) - (defalias 'eshell/v 'eshell-exec-visual) - (eshell-vterm-mode +1)) +;; (setup (:straight eshell-vterm) +;; (:load-after eshell) +;; (defalias 'eshell/v 'eshell-exec-visual) +;; (eshell-vterm-mode +1)) (setup (:straight-when exec-path-from-shell (eq system-type 'gnu/linux)) @@ -1493,7 +1495,7 @@ See also `crux-reopen-as-root-mode'." (:bind "i" #'+god-mode-insert "a" nil))) -(setup (:straight helpful) (:quit "Trying `electric-help' instead.") +(setup (:straight helpful) (:+key " f" #'helpful-callable " v" #'helpful-variable " k" #'helpful-key @@ -1770,6 +1772,14 @@ See also `crux-reopen-as-root-mode'." (:else 'url-retrieve))) (add-hook 'dired-mode-hook 'org-download-enable)) +(setup (:straight org-mime) + (add-hook 'message-mode-hook + (defun org-mime-setup@message-mode () + (local-set-key (kbd "C-c M-o") 'org-mime-htmlize))) + (add-hook 'org-mode-hook + (defun org-mime-setup@org-mode () + (local-set-key (kbd "C-c M-o") 'org-mime-org-buffer-htmlize)))) + (setup (:straight org-sticky-header) ;; (:hook-into org-mode) ) @@ -1815,17 +1825,18 @@ See also `crux-reopen-as-root-mode'." lisp-interaction-mode scheme-mode)) -(setup (:straight-when pdf-tools - ;; Ensure we can build `pdf-tools' - (or (executable-find "gcc") - (executable-find "g++"))) - (setf (alist-get "\\.pdf\\'" auto-mode-alist nil nil #'equal) - #'pdf-view-modei) - (pdf-tools-install t)) +;; (setup (:straight-when pdf-tools +;; ;; Ensure we can build `pdf-tools' +;; (or (executable-find "gcc") +;; (executable-find "g++"))) +;; (setf (alist-get "\\.pdf\\'" auto-mode-alist nil nil #'equal) +;; #'pdf-view-mode) +;; (pdf-tools-install t)) (setup (:straight (plancat :host github - :repo "duckwork/plancat.el")) + :repo "duckwork/plancat.el" + :local-repo "~/src/emacs-packages/plancat.el/")) (:option plancat-user "acdw")) (setup (:straight pocket-reader) @@ -2059,16 +2070,16 @@ See also `crux-reopen-as-root-mode'." (setup (:straight vlf) (:require vlf-setup)) -(setup (:straight-when vterm - (and module-file-suffix - (executable-find "cmake"))) - (:also-load +vterm) - (:option vterm-always-compile-module t - vterm-buffer-name-string "vterm: %s" - vterm-max-scrollback 100000 ; max allowed by vterm-module.h - ) - (advice-add 'counsel-yank-pop-action :around - #'+vterm-counsel-yank-pop-action)) +;; (setup (:straight-when vterm +;; (and module-file-suffix +;; (executable-find "cmake"))) +;; (:also-load +vterm) +;; (:option vterm-always-compile-module t +;; vterm-buffer-name-string "vterm: %s" +;; vterm-max-scrollback 100000 ; max allowed by vterm-module.h +;; ) +;; (advice-add 'counsel-yank-pop-action :around +;; #'+vterm-counsel-yank-pop-action)) (setup (:straight-when w3m (executable-find "w3m")) diff --git a/lisp/+org.el b/lisp/+org.el index 77c9836..7b4ac4a 100644 --- a/lisp/+org.el +++ b/lisp/+org.el @@ -542,5 +542,54 @@ language name.") ;; `org-verbatim' and `org-code' are apparently already things, so we skip them ;; here. +;;; Copy org trees as HTML + +;; Thanks to Oleh Krehel, via [[https://emacs.stackexchange.com/questions/54292/copy-results-of-org-export-directly-to-clipboard][this StackExchange question]]. +(defun +org-export-clip-to-html + (&optional async subtreep visible-only body-only ext-plist post-process) + "Export region to HTML, and copy it to the clipboard. +Arguments ASYNC, SUBTREEP, VISIBLE-ONLY, BODY-ONLY, EXT-PLIST, +and POST-PROCESS are passed to `org-export-to-file'." + (message "Exporting Org to HTML...") + (let ((org-tmp-file "/tmp/org.html")) + (org-export-to-file 'html org-tmp-file + async subtreep visible-only body-only ext-plist post-process) + (start-process "xclicp" "*xclip*" + "xclip" "-verbose" + "-i" org-tmp-file + "-t" "text/html" + "-selection" "clipboard")) + (message "Exporting Org to HTML...done.")) + +;; Specialized functions +(defun +org-export-clip-subtree-to-html () + "Export current subtree to HTML." + (interactive) + (+org-export-clip-to-html nil :subtree nil :body-only)) + +;;; Taskwise functions +;; TODO: break out into another library + +(defun +org-upto-task () + "Go to the heading of the current task." + (interactive) + (while (not (org-get-todo-state)) + (org-up-heading-or-point-min))) + +(defun +org-narrow-to-task () + "Narrow the buffer to current task." + (interactive) + (+org-upto-task) + (org-narrow-to-subtree)) + +(defun +org-task-clock-in (&optional select start-time) + "Start the clock on the current task. +SELECT and START-TIME, if provided, are passed on to +`org-clock-in'." + (interactive) + (save-excursion + (+org-upto-task) + (call-interactively #'org-clock-in))) + (provide '+org) ;;; +org.el ends here diff --git a/machines/bob.el b/machines/bob.el index ff358cf..8a2aefc 100644 --- a/machines/bob.el +++ b/machines/bob.el @@ -5,6 +5,7 @@ ;;; Code: (require 'acdw) +(require 'machine) ;; Other ideas: [[https://twitter.com/NPRougier/status/1488570192561160195][from Nic Rougier]] (add-function :after machine-after-load-theme -- cgit 1.4.1-21-gabe81