changeset 678: | 2b7d5a8d63ac |
parent: | 585f14458a65 |
child: | 90417ae14b21 |
author: | Richard Westhaver <ellis@rwest.io> |
date: | Wed, 25 Sep 2024 21:39:39 -0400 |
permissions: | -rw-r--r-- |
description: | alien octets fix, workin with org-graph-db |
21 | 1 | ;;; default.el --- default config -*- lexical-binding: t -*- |
27 | 2 | |
3 | ;;; Code: |
|
30 | 4 | ;;; Settings |
635
849f72b72b41
add back fuzz.lisp and proper codegen for parquet.json thrift definitions
Richard Westhaver <ellis@rwest.io>
parents:
634
diff
changeset
|
5 | (require 'util) |
21 | 6 | (put 'upcase-region 'disabled nil) |
30 | 7 | (put 'list-threads 'disabled nil) |
8 | (put 'list-timers 'disabled nil) |
|
34 | 9 | (setq show-paren-context-when-offscreen 'overlay) |
10 | (setopt |
|
429 | 11 | org-safe-remote-resources '("\\`https://cdn\\.compiler\\.company/org/clean\\.theme\\'") |
12 | ;; tabs = bad (unless in makefile..) |
|
34 | 13 | indent-tabs-mode nil |
31 | 14 | make-backup-files nil |
15 | auto-save-list-file-prefix (expand-file-name "auto-save/." user-emacs-directory) |
|
16 | tramp-auto-save-directory (expand-file-name "auto-save/tramp/" user-emacs-directory) |
|
17 | dired-free-space nil |
|
34 | 18 | mml-attach-file-at-the-end t |
19 | dired-mouse-drag-files t |
|
31 | 20 | confirm-kill-emacs nil |
21 | confirm-kill-processes nil |
|
22 | use-short-answers t |
|
23 | display-time-format "%Y-%m-%d %H:%M" |
|
24 | ring-bell-function 'ignore |
|
25 | completion-ignore-case t |
|
638 | 26 | ;; NOTE 2023-11-04: you need to add the following lines to ~/.gnupg/gpg-agent.conf: |
33 | 27 | ;; allow-emacs-pinentry |
28 | ;; allow-loopback-pinentry |
|
41 | 29 | epg-pinentry-mode 'loopback |
31 | 30 | shr-use-colors nil |
31 | shr-use-fonts nil |
|
32 | shr-max-image-proportion 0.6 |
|
33 | shr-image-animate nil |
|
34 | shr-discard-aria-hidden t |
|
35 | bookmark-default-file (expand-file-name "bookmarks" user-emacs-directory) |
|
665 | 36 | set-mark-command-repeat-pop t |
406 | 37 | tempo-interactive t |
31 | 38 | emms-directory (expand-file-name "emms" user-emacs-directory) |
39 | gnus-cache-directory (expand-file-name "gnus" user-emacs-directory) |
|
40 | url-cache-directory (expand-file-name "url" user-emacs-directory) |
|
41 | tab-always-indent 'complete |
|
42 | shr-cookie-policy nil |
|
34 | 43 | ;; NOTE 2023-11-04: EXPERIMENTAL |
148
0d9d5cd46af5
added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents:
126
diff
changeset
|
44 | ediff-floating-control-frame t |
0d9d5cd46af5
added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents:
126
diff
changeset
|
45 | register-use-preview nil |
34 | 46 | shr-use-xwidgets-for-media t |
499 | 47 | which-key-mode t |
34 | 48 | view-read-only t) |
621 | 49 | |
50 | ;;; Treesitter |
|
51 | ||
52 | ;;(add-to-list 'treesit-extra-load-path "/usr/local/lib/") |
|
499 | 53 | |
621 | 54 | ;; (let ((grammar-dir "/usr/local/share/tree-sitter/")) |
55 | ;; (when (file-exists-p grammar-dir) |
|
56 | ;; (setq treesit-extra-load-path |
|
57 | ;; (append |
|
58 | ;; (flatten |
|
59 | ;; (mapcar |
|
60 | ;; (lambda (f) |
|
61 | ;; (unless (or (string= "." f) (string= ".." f)) |
|
62 | ;; (concat grammar-dir f))) |
|
63 | ;; (directory-files "/usr/local/share/tree-sitter"))) |
|
64 | ;; treesit-extra-load-path)))) |
|
451
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
65 | |
30 | 66 | ;;; Variables |
406 | 67 | (defvar user-emacs-lib-directory (expand-file-name (join-paths user-emacs-directory "lib"))) |
33 | 68 | (defvar user-custom-file (expand-file-name (format "%s.el" user-login-name) user-emacs-directory)) |
32 | 69 | (defvar user-home-directory (expand-file-name "~")) |
70 | (defvar user-lab-directory (expand-file-name "lab" user-home-directory)) |
|
422
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
71 | (defvar user-stash-directory (expand-file-name ".stash" user-home-directory)) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
72 | (defvar user-store-directory (expand-file-name ".store" user-home-directory)) |
32 | 73 | (defvar user-mail-directory (expand-file-name "mail" user-home-directory)) |
623 | 74 | (defvar user-org-stash-directory (expand-file-name "org" user-stash-directory)) |
41 | 75 | (defvar default-theme 'leuven-dark) |
587 | 76 | (defvar company-source-directory (join-paths user-home-directory "comp")) |
604
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
77 | (defvar company-org-directory (join-paths company-source-directory "org")) |
41 | 78 | (defvar company-domain "compiler.company") |
79 | (defvar company-name "The Compiler Company, LLC") |
|
80 | (defvar company-vc-domain "vc.compiler.company") |
|
81 | (defvar company-home "the.compiler.company") |
|
429 | 82 | (defvar company-cdn-url "https://cdn.compiler.company") |
41 | 83 | |
648
926d95e5fdc7
cli/multi and slime-cape fixes
Richard Westhaver <ellis@rwest.io>
parents:
643
diff
changeset
|
84 | (add-to-load-path user-emacs-lib-directory) |
926d95e5fdc7
cli/multi and slime-cape fixes
Richard Westhaver <ellis@rwest.io>
parents:
643
diff
changeset
|
85 | |
30 | 86 | ;;; Theme |
623 | 87 | (defun load-default-theme (&optional theme) |
88 | (interactive) |
|
89 | (when theme (setq default-theme theme)) |
|
90 | (load-theme default-theme)) |
|
27 | 91 | |
92 | ;;; Packages |
|
93 | (with-eval-after-load 'package |
|
34 | 94 | (setq package-archives |
289
c4682fedd73d
added krypt lib, will probably add homer too
Richard Westhaver <ellis@rwest.io>
parents:
267
diff
changeset
|
95 | '(("gnu" . "https://elpa.gnu.org/packages/") |
c4682fedd73d
added krypt lib, will probably add homer too
Richard Westhaver <ellis@rwest.io>
parents:
267
diff
changeset
|
96 | ("nongnu" . "https://elpa.nongnu.org/nongnu/") |
596 | 97 | ("melpa" . "https://melpa.org/packages/"))) |
98 | (setopt |
|
99 | use-package-always-ensure t |
|
100 | use-package-expand-minimally t) |
|
28 | 101 | (add-packages |
678
2b7d5a8d63ac
alien octets fix, workin with org-graph-db
Richard Westhaver <ellis@rwest.io>
parents:
677
diff
changeset
|
102 | ;; eglot-x ;; LSP extensions |
33 | 103 | org-web-tools ;; web parsing |
104 | citeproc ;; citations |
|
614
f03dbf6338ed
tryin to fix broken publish pipeline
Richard Westhaver <ellis@rwest.io>
parents:
613
diff
changeset
|
105 | htmlize ;; html export |
651
af486e0a40c9
multi-binaries, working on removing x.lisp
Richard Westhaver <ellis@rwest.io>
parents:
648
diff
changeset
|
106 | ;; all-the-icons all-the-icons-dired all-the-icons-ibuffer ;; icons |
af486e0a40c9
multi-binaries, working on removing x.lisp
Richard Westhaver <ellis@rwest.io>
parents:
648
diff
changeset
|
107 | nerd-icons nerd-icons-dired nerd-icons-ibuffer nerd-icons-corfu nerd-icons-completion |
499 | 108 | hide-mode-line) ;; ui |
638 | 109 | ;; bbdb |
28 | 110 | (package-install-selected-packages t)) |
26 | 111 | |
45 | 112 | ;;; Env |
62 | 113 | (require 'exec-path-from-shell) |
314
5ff2542d5f38
expose compaction pri: #[12604]
Richard Westhaver <ellis@rwest.io>
parents:
308
diff
changeset
|
114 | (exec-path-from-shell-copy-envs (list "SSH_AGENT_PID" |
5ff2542d5f38
expose compaction pri: #[12604]
Richard Westhaver <ellis@rwest.io>
parents:
308
diff
changeset
|
115 | "SSH_AUTH_SOCK" |
5ff2542d5f38
expose compaction pri: #[12604]
Richard Westhaver <ellis@rwest.io>
parents:
308
diff
changeset
|
116 | "PATH" |
5ff2542d5f38
expose compaction pri: #[12604]
Richard Westhaver <ellis@rwest.io>
parents:
308
diff
changeset
|
117 | "CARGO_HOME" |
499 | 118 | "CC" |
119 | "LD" |
|
120 | "LD_LIBRARY_PATH" |
|
596 | 121 | "RUSTUP_HOME" |
122 | "QUICKLISP_HOME" |
|
123 | "DEV" "DEV_ID" "DEV_HOME" |
|
124 | "WORKER" "WORKER_ID" "WORKER_HOME" |
|
314
5ff2542d5f38
expose compaction pri: #[12604]
Richard Westhaver <ellis@rwest.io>
parents:
308
diff
changeset
|
125 | "SBCL_HOME" |
635
849f72b72b41
add back fuzz.lisp and proper codegen for parquet.json thrift definitions
Richard Westhaver <ellis@rwest.io>
parents:
634
diff
changeset
|
126 | "STASH" |
849f72b72b41
add back fuzz.lisp and proper codegen for parquet.json thrift definitions
Richard Westhaver <ellis@rwest.io>
parents:
634
diff
changeset
|
127 | "STORE" |
314
5ff2542d5f38
expose compaction pri: #[12604]
Richard Westhaver <ellis@rwest.io>
parents:
308
diff
changeset
|
128 | "LISP_HOME")) |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
129 | |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
130 | (add-to-list 'exec-path (expand-file-name "~/.cargo/bin/")) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
131 | (add-to-list 'exec-path (expand-file-name "~/.local/bin/")) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
132 | (add-to-list 'exec-path "/bin/") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
133 | (add-to-list 'exec-path "/usr/local/sbin/") |
499 | 134 | (add-to-list 'exec-path "/usr/local/bin/") |
135 | (add-to-list 'exec-path "/usr/local/share/lisp/bin/") |
|
45 | 136 | |
33 | 137 | ;;; Completions |
621 | 138 | (use-package cape :ensure t) |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
139 | (use-package orderless |
451
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
140 | :ensure t |
620 | 141 | :init |
142 | (setq completion-styles '(orderless partial-completion basic) |
|
143 | completion-category-overrides '((file (styles basic partial-completion)) |
|
144 | (eglot (styles orderless)) |
|
145 | (eglot-capf (styles orderless))))) |
|
146 | ||
147 | (use-package corfu |
|
148 | :ensure t |
|
623 | 149 | :config |
150 | (global-corfu-mode) |
|
151 | (corfu-popupinfo-mode) |
|
152 | (corfu-echo-mode) |
|
620 | 153 | (dolist (c (list (cons "SPC" " ") |
638 | 154 | (cons "." ".") |
155 | (cons "," ",") |
|
156 | (cons ":" ":") |
|
157 | (cons ")" ")") |
|
158 | (cons "}" "}") |
|
159 | (cons "]" "]"))) |
|
160 | (define-key corfu-map (kbd (car c)) `(lambda () |
|
161 | (interactive) |
|
162 | (corfu-insert) |
|
163 | (insert ,(cdr c))))) |
|
648
926d95e5fdc7
cli/multi and slime-cape fixes
Richard Westhaver <ellis@rwest.io>
parents:
643
diff
changeset
|
164 | ;; (add-to-list 'completion-at-point-functions #'cape-dabbrev t) |
926d95e5fdc7
cli/multi and slime-cape fixes
Richard Westhaver <ellis@rwest.io>
parents:
643
diff
changeset
|
165 | ;; (add-to-list 'completion-at-point-functions #'cape-abbrev t) |
926d95e5fdc7
cli/multi and slime-cape fixes
Richard Westhaver <ellis@rwest.io>
parents:
643
diff
changeset
|
166 | ;; (add-to-list 'completion-at-point-functions #'cape-file) |
623 | 167 | (defun corfu-move-to-minibuffer () |
168 | (interactive) |
|
169 | (pcase completion-in-region--data |
|
170 | (`(,beg ,end ,table ,pred ,extras) |
|
171 | (let ((completion-extra-properties extras) |
|
172 | completion-cycle-threshold completion-cycling) |
|
173 | (consult-completion-in-region beg end table pred))))) |
|
174 | (keymap-set corfu-map "M-m" #'corfu-move-to-minibuffer) |
|
175 | (add-to-list 'corfu-continue-commands #'corfu-move-to-minibuffer) |
|
176 | (unless (display-graphic-p) |
|
667
bb8aa1eda12b
graph, css vars, corfu-terminal fix
Richard Westhaver <ellis@rwest.io>
parents:
665
diff
changeset
|
177 | (use-package corfu-terminal :ensure t :config (corfu-terminal-mode 1)))) |
623 | 178 | |
179 | (use-package kind-icon |
|
180 | :ensure t |
|
181 | :after corfu |
|
638 | 182 | ;:custom |
183 | ; (kind-icon-blend-background t) |
|
184 | ; (kind-icon-default-face 'corfu-default) ; only needed with blend-background |
|
623 | 185 | :config |
186 | (add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter)) |
|
187 | ||
620 | 188 | |
189 | (use-package vertico |
|
621 | 190 | :ensure t |
620 | 191 | :config (vertico-mode) |
192 | (keymap-set vertico-map "M-q" #'vertico-quick-insert) |
|
193 | (keymap-set vertico-map "C-q" #'vertico-quick-exit)) |
|
33 | 194 | |
623 | 195 | (use-package marginalia :ensure t |
196 | :config (marginalia-mode)) |
|
197 | (use-package embark |
|
198 | :ensure t) |
|
199 | (use-package embark-consult :ensure t) |
|
200 | (use-package consult :ensure t) |
|
201 | ||
30 | 202 | ;;; Desktop |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
203 | (setopt desktop-dirname (expand-file-name "sessions" user-emacs-directory)) |
33 | 204 | |
30 | 205 | ;;; Multisession |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
206 | (setq multisession-storage 'sqlite) |
30 | 207 | |
148
0d9d5cd46af5
added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents:
126
diff
changeset
|
208 | ;;; Kill Ring |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
209 | (kill-ring-deindent-mode) |
148
0d9d5cd46af5
added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents:
126
diff
changeset
|
210 | |
21 | 211 | ;;; VC |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
212 | ;; use rhg, fallback to hg. see hgrc |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
213 | (if (file-exists-p "~/.local/bin/rhg") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
214 | (setq hg-binary "~/.local/bin/rhg")) |
21 | 215 | |
216 | ;;; Dired |
|
451
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
217 | ;;; Projects |
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
218 | (setopt project-list-file (expand-file-name "projects" user-emacs-directory) |
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
219 | project-mode-line t |
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
220 | project-file-history-behavior 'relativize) |
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
221 | |
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
222 | ;;; Tabs |
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
223 | (add-hook 'tab-bar-mode-hook #'tab-bar-history-mode) |
26 | 224 | |
21 | 225 | ;;; Lisp |
629
ab02408636b7
elisp work, added slime-company (to be deprecated)
Richard Westhaver <ellis@rwest.io>
parents:
623
diff
changeset
|
226 | (use-package company :ensure t) |
634 | 227 | |
643
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
228 | (defvar slime-toggle nil) |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
229 | (defun slime-toggle () |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
230 | "toggle between lisp file and slime-repl" |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
231 | (interactive) |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
232 | (cond |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
233 | ((eq major-mode 'slime-repl-mode) |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
234 | (setq slime-toggle (pop-to-buffer (or slime-toggle (read-buffer "lisp buffer: "))))) |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
235 | ((not (eq major-mode 'slime-repl-mode)) |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
236 | (if (slime-connected-p) |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
237 | (progn |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
238 | (setq slime-toggle (current-buffer)) |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
239 | (slime-switch-to-output-buffer)) |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
240 | (setq slime-toggle (current-buffer)) |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
241 | (slime))))) |
f901de70a80e
opt fixes and test updates
Richard Westhaver <ellis@rwest.io>
parents:
638
diff
changeset
|
242 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
243 | (use-package slime |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
244 | :ensure t |
668
c687d7005ec7
add slime-repl-ansi-color
Richard Westhaver <ellis@rwest.io>
parents:
667
diff
changeset
|
245 | :config |
648
926d95e5fdc7
cli/multi and slime-cape fixes
Richard Westhaver <ellis@rwest.io>
parents:
643
diff
changeset
|
246 | (require 'slime-company "slime-company") |
926d95e5fdc7
cli/multi and slime-cape fixes
Richard Westhaver <ellis@rwest.io>
parents:
643
diff
changeset
|
247 | (require 'slime-cape "slime-cape") |
668
c687d7005ec7
add slime-repl-ansi-color
Richard Westhaver <ellis@rwest.io>
parents:
667
diff
changeset
|
248 | (require 'slime-repl-ansi-color "slime-repl-ansi-color") |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
249 | (setq slime-contribs '(slime-fancy |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
250 | slime-quicklisp |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
251 | slime-hyperdoc |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
252 | ;; slime-listener-hooks |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
253 | ;; slime-enclosing-context |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
254 | ;; slime-media |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
255 | ;; slime-mrepl |
648
926d95e5fdc7
cli/multi and slime-cape fixes
Richard Westhaver <ellis@rwest.io>
parents:
643
diff
changeset
|
256 | ;; slime-company |
507 | 257 | slime-sbcl-exts |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
258 | slime-cape ;; ext |
629
ab02408636b7
elisp work, added slime-company (to be deprecated)
Richard Westhaver <ellis@rwest.io>
parents:
623
diff
changeset
|
259 | slime-repl-ansi-color |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
260 | ;; slime-cl-indent |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
261 | ;; slime-snapshot |
507 | 262 | slime-sprof |
263 | slime-tramp |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
264 | ;; slime-typeout-frame |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
265 | slime-xref-browser |
629
ab02408636b7
elisp work, added slime-company (to be deprecated)
Richard Westhaver <ellis@rwest.io>
parents:
623
diff
changeset
|
266 | slime-repl-ansi-color |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
267 | ;; slime-highlight-edits |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
268 | slime-asdf)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
269 | (put 'make-instance 'common-lisp-indent-function 1) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
270 | (put 'reinitialize-instance 'common-lisp-indent-function 1) |
668
c687d7005ec7
add slime-repl-ansi-color
Richard Westhaver <ellis@rwest.io>
parents:
667
diff
changeset
|
271 | (slime-setup slime-contribs) |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
272 | ;; X11-only (mcclim requires clx) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
273 | (defun clouseau-inspect (string) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
274 | "Inspect a lisp value with Clouseau. make sure to load clouseau |
53 | 275 | with a custom core or in your init file before using this |
276 | function: '(ql:quickload :clouseau)'." |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
277 | (interactive |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
278 | (list (slime-read-from-minibuffer |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
279 | "Inspect value (evaluated): " |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
280 | (slime-sexp-at-point)))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
281 | (let ((inspector 'cl-user::*clouseau-inspector*)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
282 | (slime-eval-async |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
283 | `(cl:progn |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
284 | (cl:defvar ,inspector nil) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
285 | ;; (Re)start the inspector if necessary. |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
286 | (cl:unless (cl:and (clim:application-frame-p ,inspector) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
287 | (clim-internals::frame-process ,inspector)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
288 | (cl:setf ,inspector (cl:nth-value 1 (clouseau:inspect nil :new-process t)))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
289 | ;; Tell the inspector to visualize the correct datum. |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
290 | (cl:setf (clouseau:root-object ,inspector :run-hook-p t) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
291 | (cl:eval (cl:read-from-string ,string))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
292 | ;; Return nothing. |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
293 | (cl:values))))) |
53 | 294 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
295 | (define-common-lisp-style "core" "Core Common Lisp Indentation Style" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
296 | (:inherit "sbcl") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
297 | (:indentation |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
298 | (defpkg (as defpackage)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
299 | (define-package (as defpackage)))) |
586
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
300 | |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
301 | ;; lisp font-lock defaults: https://www.n16f.net/blog/custom-font-lock-configuration-in-emacs/ |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
302 | ;; (defface cl-character-face |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
303 | ;; '((default :inherit font-lock-constant-face)) |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
304 | ;; "The face used to highlight Common Lisp character literals.") |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
305 | |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
306 | ;; (defface cl-standard-function-face |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
307 | ;; '((default :inherit font-lock-keyword-face)) |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
308 | ;; "The face used to highlight standard Common Lisp function symbols.") |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
309 | |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
310 | ;; (defface cl-standard-value-face |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
311 | ;; '((default :inherit font-lock-variable-name-face)) |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
312 | ;; "The face used to highlight standard Common Lisp value symbols.") |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
313 | |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
314 | ;; (defvar cl-font-lock-keywords |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
315 | ;; (let* ((character-re (concat "#\\\\" lisp-mode-symbol-regexp "\\_>")) |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
316 | ;; (function-re (concat "(" (regexp-opt cl-function-names t) "\\_>")) |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
317 | ;; (value-re (regexp-opt cl-value-names 'symbols))) |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
318 | ;; `((,character-re . 'cl-character-face) |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
319 | ;; (,function-re |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
320 | ;; (1 'cl-standard-function-face)) |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
321 | ;; (,value-re . 'cl-standard-value-face)))) |
7ce855f76e1d
net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents:
585
diff
changeset
|
322 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
323 | (setq common-lisp-style-default "core") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
324 | ;; (define-key slime-prefix-map (kbd "i") 'clouseau-inspect) |
622 | 325 | (setq slime-threads-update-interval 1) |
648
926d95e5fdc7
cli/multi and slime-cape fixes
Richard Westhaver <ellis@rwest.io>
parents:
643
diff
changeset
|
326 | ;; (add-hook 'slime-mode-hook 'slime-cape-maybe-enable) |
926d95e5fdc7
cli/multi and slime-cape fixes
Richard Westhaver <ellis@rwest.io>
parents:
643
diff
changeset
|
327 | ;; (add-hook 'slime-repl-mode-hook 'slime-cape-maybe-enable) |
926d95e5fdc7
cli/multi and slime-cape fixes
Richard Westhaver <ellis@rwest.io>
parents:
643
diff
changeset
|
328 | ) |
21 | 329 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
330 | (use-package lisp-mode |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
331 | :ensure nil |
629
ab02408636b7
elisp work, added slime-company (to be deprecated)
Richard Westhaver <ellis@rwest.io>
parents:
623
diff
changeset
|
332 | :after slime |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
333 | :custom |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
334 | inferior-lisp-program "sbcl --dynamic-space-size=8G" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
335 | scheme-program-name "gsi" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
336 | guile-program "guile" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
337 | cmulisp-program "lisp" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
338 | scsh-program "scsh") |
289
c4682fedd73d
added krypt lib, will probably add homer too
Richard Westhaver <ellis@rwest.io>
parents:
267
diff
changeset
|
339 | |
187
a962648ad6d5
add dir-locals and eglot-x
Richard Westhaver <ellis@rwest.io>
parents:
182
diff
changeset
|
340 | ;;; Eglot |
678
2b7d5a8d63ac
alien octets fix, workin with org-graph-db
Richard Westhaver <ellis@rwest.io>
parents:
677
diff
changeset
|
341 | ;; (with-eval-after-load 'eglot |
2b7d5a8d63ac
alien octets fix, workin with org-graph-db
Richard Westhaver <ellis@rwest.io>
parents:
677
diff
changeset
|
342 | ;; (unless (package-installed-p 'eglot-x) |
2b7d5a8d63ac
alien octets fix, workin with org-graph-db
Richard Westhaver <ellis@rwest.io>
parents:
677
diff
changeset
|
343 | ;; (package-vc-install '(eglot-x :url "https://vc.compiler.company/packy/eglot-x"))) |
2b7d5a8d63ac
alien octets fix, workin with org-graph-db
Richard Westhaver <ellis@rwest.io>
parents:
677
diff
changeset
|
344 | ;; (require 'eglot-x) |
2b7d5a8d63ac
alien octets fix, workin with org-graph-db
Richard Westhaver <ellis@rwest.io>
parents:
677
diff
changeset
|
345 | ;; (with-eval-after-load 'eglot-x |
2b7d5a8d63ac
alien octets fix, workin with org-graph-db
Richard Westhaver <ellis@rwest.io>
parents:
677
diff
changeset
|
346 | ;; (add-to-list 'eglot-server-programs |
2b7d5a8d63ac
alien octets fix, workin with org-graph-db
Richard Westhaver <ellis@rwest.io>
parents:
677
diff
changeset
|
347 | ;; '((rust-ts-mode rust-mode) . |
2b7d5a8d63ac
alien octets fix, workin with org-graph-db
Richard Westhaver <ellis@rwest.io>
parents:
677
diff
changeset
|
348 | ;; ("rust-analyzer" :initializationOptions (:check (:command "clippy"))))) |
2b7d5a8d63ac
alien octets fix, workin with org-graph-db
Richard Westhaver <ellis@rwest.io>
parents:
677
diff
changeset
|
349 | ;; (eglot-x-setup))) |
187
a962648ad6d5
add dir-locals and eglot-x
Richard Westhaver <ellis@rwest.io>
parents:
182
diff
changeset
|
350 | |
21 | 351 | ;;; Rust |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
352 | (add-hook 'rust-mode-hook 'eglot-ensure) |
187
a962648ad6d5
add dir-locals and eglot-x
Richard Westhaver <ellis@rwest.io>
parents:
182
diff
changeset
|
353 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
354 | (setq rust-rustfmt-switches nil |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
355 | rust-indent-offset 2) |
30 | 356 | |
357 | ;;; Python |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
358 | (setq python-indent-offset 2) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
359 | (add-hook 'python-mode-hook 'eglot-ensure) |
30 | 360 | |
189 | 361 | ;;; Javascript |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
362 | (setq js-indent-level 2) |
189 | 363 | |
30 | 364 | ;;; Bash |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
365 | (setq sh-basic-offset 2) |
30 | 366 | |
267
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
231
diff
changeset
|
367 | ;;; Graphviz |
676
ca09f470abb3
rm dir-locals and makefile, added dir-locals hacks in sk.el
Richard Westhaver <ellis@rwest.io>
parents:
675
diff
changeset
|
368 | ;; (use-package graphviz-dot-mode |
ca09f470abb3
rm dir-locals and makefile, added dir-locals hacks in sk.el
Richard Westhaver <ellis@rwest.io>
parents:
675
diff
changeset
|
369 | ;; :ensure t |
ca09f470abb3
rm dir-locals and makefile, added dir-locals hacks in sk.el
Richard Westhaver <ellis@rwest.io>
parents:
675
diff
changeset
|
370 | ;; :config |
ca09f470abb3
rm dir-locals and makefile, added dir-locals hacks in sk.el
Richard Westhaver <ellis@rwest.io>
parents:
675
diff
changeset
|
371 | ;; (setq graphviz-dot-indent-width 2)) |
31 | 372 | ;;; Comments |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
373 | (defcustom prog-comment-keywords |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
374 | '("TODO" "REVIEW" "FIX" "HACK" "RESEARCH") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
375 | "List of strings with comment keywords." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
376 | :group 'default) |
31 | 377 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
378 | (defcustom prog-comment-timestamp-format-concise "%F" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
379 | "Specifier for date in `prog-comment-timestamp-keyword'. |
31 | 380 | Refer to the doc string of `format-time-string' for the available |
381 | options." |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
382 | :group 'default) |
31 | 383 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
384 | (defcustom prog-comment-timestamp-format-verbose "%F %T %z" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
385 | "Like `prog-comment-timestamp-format-concise', but longer." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
386 | :group 'default) |
31 | 387 | |
388 | ;;;###autoload |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
389 | (defun prog-comment-dwim (arg) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
390 | "Flexible, do-what-I-mean commenting. |
31 | 391 | |
392 | If region is active and ARG is either a numeric argument greater |
|
393 | than one or a universal prefix (\\[universal-argument]), then |
|
394 | apply `comment-kill' on all comments in the region. |
|
395 | ||
396 | If the region is active and no ARG is supplied, or is equal to a |
|
397 | numeric prefix of 1, then toggle the comment status of the region. |
|
398 | ||
399 | Else toggle the comment status of the line at point. With a |
|
400 | numeric prefix ARG, do so for ARGth lines (negative prefix |
|
401 | operates on the lines before point)." |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
402 | (interactive "p") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
403 | (cond |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
404 | ((and (> arg 1) (use-region-p)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
405 | (let* ((beg (region-beginning)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
406 | (end (region-end)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
407 | (num (count-lines beg end))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
408 | (save-excursion |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
409 | (goto-char beg) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
410 | (comment-kill num)))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
411 | ((use-region-p) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
412 | (comment-or-uncomment-region (region-beginning) (region-end))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
413 | (t |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
414 | (save-excursion (comment-line (or arg 1)))))) |
31 | 415 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
416 | (defvar prog-comment--keyword-hist '() |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
417 | "Input history of selected comment keywords.") |
31 | 418 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
419 | (defun prog-comment--keyword-prompt (keywords) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
420 | "Prompt for candidate among KEYWORDS." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
421 | (let ((def (car prog-comment--keyword-hist))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
422 | (completing-read |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
423 | (format "Select keyword [%s]: " def) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
424 | keywords nil nil nil 'prog-comment--keyword-hist def))) |
31 | 425 | |
426 | ||
427 | ;;;###autoload |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
428 | (defun prog-comment-timestamp-keyword (keyword &optional verbose) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
429 | "Add timestamped comment with KEYWORD. |
31 | 430 | |
431 | When called interactively, the list of possible keywords is that |
|
432 | of `prog-comment-keywords', though it is possible to |
|
433 | input arbitrary text. |
|
434 | ||
435 | If point is at the beginning of the line or if line is empty (no |
|
436 | characters at all or just indentation), the comment is started |
|
437 | there in accordance with `comment-style'. Any existing text |
|
438 | after the point will be pushed to a new line and will not be |
|
439 | turned into a comment. |
|
440 | ||
441 | If point is anywhere else on the line, the comment is indented |
|
442 | with `comment-indent'. |
|
443 | ||
444 | The comment is always formatted as 'DELIMITER KEYWORD DATE:', |
|
445 | with the date format being controlled by the variable |
|
446 | `prog-comment-timestamp-format-concise'. |
|
447 | ||
448 | With optional VERBOSE argument (such as a prefix argument |
|
449 | `\\[universal-argument]'), use an alternative date format, as |
|
450 | specified by `prog-comment-timestamp-format-verbose'." |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
451 | (interactive |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
452 | (list |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
453 | (prog-comment--keyword-prompt prog-comment-keywords) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
454 | current-prefix-arg)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
455 | (let* ((date (if verbose |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
456 | comment-timestamp-format-verbose |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
457 | prog-comment-timestamp-format-concise)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
458 | (string (format "%s %s: " keyword (format-time-string date))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
459 | (beg (point))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
460 | (cond |
451
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
461 | ((or (eq beg (pos-bol)) |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
462 | (default-line-regexp-p 'empty)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
463 | (let* ((maybe-newline (unless (default-line-regexp-p 'empty 1) "\n"))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
464 | ;; NOTE 2021-07-24: we use this `insert' instead of |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
465 | ;; `comment-region' because of a yet-to-be-determined bug that |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
466 | ;; traps `undo' to the two states between the insertion of the |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
467 | ;; string and its transformation into a comment. |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
468 | (insert |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
469 | (concat comment-start |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
470 | ;; NOTE 2021-07-24: See function `comment-add' for |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
471 | ;; why we need this. |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
472 | (make-string |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
473 | (comment-add nil) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
474 | (string-to-char comment-start)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
475 | comment-padding |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
476 | string |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
477 | comment-end)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
478 | (indent-region beg (point)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
479 | (when maybe-newline |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
480 | (save-excursion (insert maybe-newline))))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
481 | (t |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
482 | (comment-indent t) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
483 | (insert (concat " " string)))))) |
31 | 484 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
485 | (setq hexl-bits 8) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
486 | (setq tab-width 4) |
31 | 487 | |
21 | 488 | ;;; Keyboard Macros |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
489 | (defun toggle-macro-recording () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
490 | (interactive) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
491 | (if defining-kbd-macro |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
492 | (end-kbd-macro) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
493 | (start-kbd-macro nil))) |
21 | 494 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
495 | (defun play-macro-if-not-playing () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
496 | (interactive) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
497 | (if defining-kbd-macro |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
498 | (end-kbd-macro) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
499 | (call-last-kbd-macro))) |
30 | 500 | |
501 | ;;; Registers |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
502 | ;; - additional register vtypes: buffer |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
503 | (defun decrement-register (number register) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
504 | "Subtract NUMBER from the contents of register REGISTER. |
30 | 505 | Interactively, NUMBER is the prefix arg." |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
506 | (interactive "p\ncDecrement register: ") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
507 | (increment-register (- number) register)) |
30 | 508 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
509 | (defun copy-register (a b) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
510 | "Copy register A to B." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
511 | (interactive |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
512 | (list (register-read-with-preview "From register: ") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
513 | (register-read-with-preview "To register: "))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
514 | (set-register b (get-register a))) |
30 | 515 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
516 | (defun buffer-to-register (register &optional delete) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
517 | "Put current buffer in register - this would also work for |
30 | 518 | just buffers, as switch-to-buffer can use both, but it |
519 | facilitates for easier saving/restoring of registers." |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
520 | (interactive "cPut current buffername in register: \nP.") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
521 | (set-register register (cons 'buffer (buffer-name (current-buffer))))) |
34 | 522 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
523 | (defun file-to-register (register &optional delete) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
524 | "This is better than put-buffer-in-register for file-buffers, because a closed |
30 | 525 | file can be opened again, but does not work for no-file-buffers." |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
526 | (interactive "cPut the filename of current buffer in register: \nP") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
527 | (set-register register (cons 'file (buffer-file-name (current-buffer))))) |
34 | 528 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
529 | (defun file-query-to-register (register &optional delete) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
530 | (interactive |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
531 | (list |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
532 | (register-read-with-preview "File query to register: "))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
533 | (set-register register (list 'file-query (buffer-file-name (current-buffer)) (point)))) |
30 | 534 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
535 | ;; additional register-val handlers |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
536 | ;; (cl-defmethod register-val-jump-to :around ((val cons) delete) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
537 | ;; (cond |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
538 | ;; (t (cl-call-next-method val delete)))) |
30 | 539 | |
21 | 540 | ;;; Outlines |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
541 | (defun outline-hook (&optional rx) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
542 | "Enable `outline-minor-mode' and set `outline-regexp'." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
543 | (when rx (setq-local outline-regexp rx)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
544 | (outline-minor-mode 1)) |
21 | 545 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
546 | (setq outline-minor-mode-use-buttons nil) |
34 | 547 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
548 | (defun add-outline-hook (mode &optional rx) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
549 | (let ((sym (symb mode "-hook"))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
550 | (add-hook sym (lambda () (outline-hook rx))))) |
21 | 551 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
552 | (defmacro outline-hooks (&rest pairs) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
553 | `(mapc (lambda (x) (add-outline-hook (car x) (cadr x))) ',pairs)) |
21 | 554 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
555 | (outline-hooks (asm-mode ";;;+") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
556 | (nasm-mode ";;;+") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
557 | (rust-mode "\\(//!\\|////+\\)") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
558 | (sh-mode "###+") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
559 | (sh-script-mode "###+") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
560 | (makefile-mode "###+") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
561 | (conf-mode "###+") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
562 | (common-lisp-mode) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
563 | (emacs-lisp-mode) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
564 | (lisp-data-mode) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
565 | (org-mode) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
566 | (css-mode) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
567 | (html-mode) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
568 | (skel-mode)) |
30 | 569 | |
21 | 570 | ;;; Scratch |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
571 | (defcustom default-scratch-buffer-mode 'lisp-interaction-mode |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
572 | "Default major mode for new scratch buffers" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
573 | :group 'default) |
21 | 574 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
575 | ;; Adapted from the `scratch.el' package by Ian Eure. |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
576 | (defun default-scratch-list-modes () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
577 | "List known major modes." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
578 | (cl-loop for sym the symbols of obarray |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
579 | for name = (symbol-name sym) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
580 | when (and (functionp sym) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
581 | (not (member sym minor-mode-list)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
582 | (string-match "-mode$" name) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
583 | (not (string-match "--" name))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
584 | collect name)) |
30 | 585 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
586 | (defun default-scratch-buffer-setup (region &optional mode) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
587 | "Add contents to `scratch' buffer and name it accordingly. |
30 | 588 | |
589 | REGION is added to the contents to the new buffer. |
|
590 | ||
591 | Use the current buffer's major mode by default. With optional |
|
592 | MODE use that major mode instead." |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
593 | (let* ((major (or mode major-mode)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
594 | (string (format "Scratch buffer for: %s\n\n" major)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
595 | (text (concat string region)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
596 | (buf (format "*Scratch for %s*" major))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
597 | (with-current-buffer (get-buffer-create buf) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
598 | (funcall major) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
599 | (save-excursion |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
600 | (insert text) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
601 | (goto-char (point-min)) |
451
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
602 | (comment-region (pos-bol) (pos-eol))) |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
603 | (vertical-motion 2)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
604 | (pop-to-buffer buf))) |
30 | 605 | |
606 | ;;;###autoload |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
607 | (defun default-scratch-buffer (&optional arg) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
608 | "Produce a bespoke scratch buffer matching current major mode. |
30 | 609 | |
610 | With optional ARG as a prefix argument (\\[universal-argument]), |
|
611 | use `default-scratch-buffer-mode'. |
|
612 | ||
613 | With ARG as a double prefix argument, prompt for a major mode |
|
614 | with completion. |
|
615 | ||
616 | If region is active, copy its contents to the new scratch |
|
617 | buffer." |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
618 | (interactive "P") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
619 | (let* ((default-mode default-scratch-buffer-mode) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
620 | (modes (default-scratch-list-modes)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
621 | (region (with-current-buffer (current-buffer) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
622 | (if (region-active-p) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
623 | (buffer-substring-no-properties |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
624 | (region-beginning) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
625 | (region-end)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
626 | ""))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
627 | (m)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
628 | (pcase (prefix-numeric-value arg) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
629 | (16 (progn |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
630 | (setq m (intern (completing-read "Select major mode: " modes nil t))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
631 | (default-scratch-buffer-setup region m))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
632 | (4 (default-scratch-buffer-setup region default-mode)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
633 | (_ (default-scratch-buffer-setup region))))) |
30 | 634 | |
635 | ;;;###autoload |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
636 | (defun scratch-new () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
637 | "create a new scratch buffer. (could be *scratch* - *scratchN*)" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
638 | (interactive) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
639 | (let ((n 0) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
640 | bufname) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
641 | (while (progn |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
642 | (setq bufname |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
643 | (concat "*scratch" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
644 | (if (= n 0) "" (int-to-string n)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
645 | "*")) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
646 | (setq n (1+ n)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
647 | (get-buffer bufname))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
648 | (switch-to-buffer (get-buffer-create bufname)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
649 | (insert initial-scratch-message) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
650 | (lisp-interaction-mode))) |
30 | 651 | |
21 | 652 | ;;; Shell |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
653 | (defun set-no-process-query-on-exit () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
654 | (let ((proc (get-buffer-process (current-buffer)))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
655 | (when (processp proc) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
656 | (set-process-query-on-exit-flag proc nil)))) |
21 | 657 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
658 | (add-hook 'shell-mode-hook 'set-no-process-query-on-exit) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
659 | (add-hook 'term-exec-hook 'set-no-process-query-on-exit) |
30 | 660 | |
21 | 661 | ;;; Eshell |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
662 | (defun eshell-new() |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
663 | "Open a new instance of eshell." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
664 | (interactive) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
665 | (eshell 'Z)) |
21 | 666 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
667 | (setq eshell-highlight-prompt t |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
668 | eshell-hist-ignoredups t |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
669 | eshell-save-history-on-exit t |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
670 | eshell-prefer-lisp-functions nil |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
671 | eshell-destroy-buffer-when-process-dies t) |
21 | 672 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
673 | (add-hook 'eshell-mode-hook |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
674 | (lambda () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
675 | (eshell/alias "d" "dired $1") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
676 | (eshell/alias "ff" "find-file $1") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
677 | (eshell/alias "hgfe" "hg-fast-export.sh"))) |
21 | 678 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
679 | (defun eshell/clear () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
680 | "Clear the eshell buffer." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
681 | (let ((inhibit-read-only t)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
682 | (erase-buffer) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
683 | (eshell-send-input))) |
21 | 684 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
685 | (defun eshell-quit-or-delete-char (arg) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
686 | (interactive "p") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
687 | (if (and (eolp) (looking-back eshell-prompt-regexp)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
688 | (progn |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
689 | (eshell-life-is-too-much) ; Why not? (eshell/exit) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
690 | (ignore-errors |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
691 | (delete-window))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
692 | (delete-forward-char arg))) |
21 | 693 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
694 | (add-hook 'eshell-mode-hook |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
695 | (lambda () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
696 | (bind-keys :map eshell-mode-map |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
697 | ("C-d" . eshell-quit-or-delete-char)))) |
21 | 698 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
699 | (defun eshell-next-prompt (n) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
700 | "Move to end of Nth next prompt in the buffer. See `eshell-prompt-regexp'." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
701 | (interactive "p") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
702 | (re-search-forward eshell-prompt-regexp nil t n) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
703 | (when eshell-highlight-prompt |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
704 | (while (not (get-text-property (line-beginning-position) 'read-only) ) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
705 | (re-search-forward eshell-prompt-regexp nil t n))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
706 | (eshell-skip-prompt)) |
21 | 707 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
708 | (defun eshell-previous-prompt (n) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
709 | "Move to end of Nth previous prompt in the buffer. See `eshell-prompt-regexp'." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
710 | (interactive "p") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
711 | (backward-char) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
712 | (eshell-next-prompt (- n))) |
21 | 713 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
714 | (defun eshell-insert-history () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
715 | "Displays the eshell history to select and insert back into your eshell." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
716 | (interactive) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
717 | (insert (ido-completing-read "Eshell history: " |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
718 | (delete-dups |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
719 | (ring-elements eshell-history-ring))))) |
295 | 720 | |
451
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
721 | ;;; Eww |
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
722 | (setopt |
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
723 | browse-url-browser-function 'eww |
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
724 | eww-auto-rename-buffer 'title |
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
725 | eww-search-prefix "https://google.com/search?q=") |
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
726 | |
496
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
727 | ;; ref: https://github.com/oantolin/emacs-config/blob/master/my-lisp/shr-heading.el |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
728 | (defun shr-heading-next (&optional arg) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
729 | "Move forward by ARG headings (any h1-h4). |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
730 | If ARG is negative move backwards, ARG defaults to 1." |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
731 | (interactive "p") |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
732 | (unless arg (setq arg 1)) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
733 | (catch 'return |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
734 | (dotimes (_ (abs arg)) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
735 | (when (> arg 0) (end-of-line)) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
736 | (if-let ((match |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
737 | (funcall (if (> arg 0) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
738 | #'text-property-search-forward |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
739 | #'text-property-search-backward) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
740 | 'face '(shr-h1 shr-h2 shr-h3 shr-h4) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
741 | (lambda (tags face) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
742 | (cl-loop for x in (if (consp face) face (list face)) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
743 | thereis (memq x tags)))))) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
744 | (goto-char |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
745 | (if (> arg 0) (prop-match-beginning match) (prop-match-end match))) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
746 | (throw 'return nil)) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
747 | (when (< arg 0) (beginning-of-line))) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
748 | (beginning-of-line) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
749 | (point))) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
750 | |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
751 | (defun shr-heading-previous (&optional arg) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
752 | "Move backward by ARG headings (any h1-h4). |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
753 | If ARG is negative move forwards instead, ARG defaults to 1." |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
754 | (interactive "p") |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
755 | (shr-heading-next (- (or arg 1)))) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
756 | |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
757 | (defun shr-heading--line-at-point () |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
758 | "Return the current line." |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
759 | (buffer-substring (line-beginning-position) (line-end-position))) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
760 | |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
761 | (defun shr-heading-setup-imenu () |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
762 | "Setup imenu for h1-h4 headings in eww buffer. |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
763 | Add this function to appropriate major mode hooks such as |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
764 | `eww-mode-hook' or `elfeed-show-mode-hook'." |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
765 | (setq-local |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
766 | imenu-prev-index-position-function #'shr-heading-previous |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
767 | imenu-extract-index-name-function #'shr-heading--line-at-point)) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
768 | |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
769 | (defvar shr-heading-map |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
770 | (let ((map (make-sparse-keymap))) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
771 | (define-key map "n" #'shr-heading-next) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
772 | (define-key map "\C-n" #'shr-heading-next) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
773 | (define-key map "p" #'shr-heading-previous) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
774 | (define-key map "\C-p" #'shr-heading-previous) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
775 | map)) |
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
776 | |
497
bcf772e86fbc
add std/task, some fixes and added cli/tools/systemd
Richard Westhaver <ellis@rwest.io>
parents:
496
diff
changeset
|
777 | (add-hook 'eww-mode-hook 'shr-heading-setup-imenu) |
bcf772e86fbc
add std/task, some fixes and added cli/tools/systemd
Richard Westhaver <ellis@rwest.io>
parents:
496
diff
changeset
|
778 | (add-hook 'eww-mode-hook (lambda () (define-key eww-mode-map "i" shr-heading-map))) |
bcf772e86fbc
add std/task, some fixes and added cli/tools/systemd
Richard Westhaver <ellis@rwest.io>
parents:
496
diff
changeset
|
779 | |
34 | 780 | ;;; Tramp |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
781 | (setopt tramp-default-method "ssh" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
782 | tramp-default-user user-login-name |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
783 | tramp-default-host "localhost") |
295 | 784 | |
496
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
785 | ;;; Imenu |
676
ca09f470abb3
rm dir-locals and makefile, added dir-locals hacks in sk.el
Richard Westhaver <ellis@rwest.io>
parents:
675
diff
changeset
|
786 | ;; (use-package imenu-list :ensure t) |
496
6359b351657a
tmux controller, cli upgrades
Richard Westhaver <ellis@rwest.io>
parents:
470
diff
changeset
|
787 | |
21 | 788 | ;;; Org |
606
6fc04c4d465c
emacs and rocksdb upgrades
Richard Westhaver <ellis@rwest.io>
parents:
604
diff
changeset
|
789 | (require 'org) |
6fc04c4d465c
emacs and rocksdb upgrades
Richard Westhaver <ellis@rwest.io>
parents:
604
diff
changeset
|
790 | (require 'org-agenda) |
6fc04c4d465c
emacs and rocksdb upgrades
Richard Westhaver <ellis@rwest.io>
parents:
604
diff
changeset
|
791 | (require 'org-id) |
6fc04c4d465c
emacs and rocksdb upgrades
Richard Westhaver <ellis@rwest.io>
parents:
604
diff
changeset
|
792 | (require 'org-protocol) |
604
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
793 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
794 | (setq org-html-htmlize-output-type 'css |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
795 | org-html-head-include-default-style nil |
451
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
796 | ;; cc default |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
797 | org-ascii-text-width 80) |
21 | 798 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
799 | (org-crypt-use-before-save-magic) |
21 | 800 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
801 | (setq org-structure-template-alist |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
802 | '(("s" . "src") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
803 | ("e" . "src emacs-lisp") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
804 | ("x" . "src shell") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
805 | ("l" . "src lisp") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
806 | ("h" . "export html") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
807 | ("p" . "src python") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
808 | ("r" . "src rust") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
809 | ("E" . "example") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
810 | ("q" . "quote") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
811 | ("c" . "center") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
812 | ("C" . "comment") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
813 | ("v" . "verse"))) |
21 | 814 | |
638 | 815 | ;; org-sbx [[https://list.orgmode.org/d429d29b-42fa-7d7b-6f3a-9fe692fd6dc7@grinta.net/T/]] |
816 | (defun %org-sbx (name header args) |
|
817 | (let* ((args (mapconcat |
|
818 | (lambda (x) |
|
819 | (format "%s=%S" (symbol-name (car x)) (cadr x))) |
|
820 | args ", ")) |
|
821 | (ctx (list 'babel-call (list :call name |
|
822 | :name name |
|
823 | :inside-header header |
|
824 | :arguments args |
|
825 | :end-header ":results silent"))) |
|
826 | (info (org-babel-lob-get-info ctx))) |
|
827 | (when info (org-babel-execute-src-block nil info)))) |
|
828 | ||
829 | (defmacro org-sbx (name &rest args) |
|
830 | (let* ((header (if (stringp (car args)) (car args) nil)) |
|
831 | (args (if (stringp (car args)) (cdr args) args))) |
|
832 | (unless (stringp name) |
|
833 | (setq name (symbol-name name))) |
|
834 | (let ((result (%org-sbx name header args))) |
|
835 | (org-trim (if (stringp result) result (format "%S" result)))))) |
|
836 | ||
837 | (defun org-babel-execute-region (beg end &optional arg) |
|
838 | (interactive "r") |
|
839 | (narrow-to-region beg end) |
|
840 | (org-babel-execute-buffer arg) |
|
841 | (widen)) |
|
842 | ||
613 | 843 | (defun org-schedule-effort () |
638 | 844 | (interactive) |
613 | 845 | (save-excursion |
846 | (org-back-to-heading t) |
|
638 | 847 | (let* ((element (org-element-at-point)) |
848 | (effort (org-element-property :EFFORT element)) |
|
849 | (scheduled (org-element-property :scheduled element)) |
|
850 | (ts-year-start (org-element-property :year-start scheduled)) |
|
851 | (ts-month-start (org-element-property :month-start scheduled)) |
|
852 | (ts-day-start (org-element-property :day-start scheduled)) |
|
853 | (ts-hour-start (org-element-property :hour-start scheduled)) |
|
854 | (ts-minute-start (org-element-property :minute-start scheduled)) ) |
|
613 | 855 | (org-schedule nil (concat |
638 | 856 | (format "%s" ts-year-start) |
857 | "-" |
|
858 | (if (< ts-month-start 10) |
|
859 | (concat "0" (format "%s" ts-month-start)) |
|
860 | (format "%s" ts-month-start)) |
|
861 | "-" |
|
862 | (if (< ts-day-start 10) |
|
863 | (concat "0" (format "%s" ts-day-start)) |
|
864 | (format "%s" ts-day-start)) |
|
865 | " " |
|
866 | (if (< ts-hour-start 10) |
|
867 | (concat "0" (format "%s" ts-hour-start)) |
|
868 | (format "%s" ts-hour-start)) |
|
869 | ":" |
|
870 | (if (< ts-minute-start 10) |
|
871 | (concat "0" (format "%s" ts-minute-start)) |
|
872 | (format "%s" ts-minute-start)) |
|
873 | "+" |
|
874 | effort)) ))) |
|
613 | 875 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
876 | (setopt org-preview-latex-image-directory "~/.emacs.d/.cache/ltximg" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
877 | org-latex-image-default-width "8cm" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
878 | org-refile-use-cache t |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
879 | org-refile-allow-creating-parent-nodes 'confirm |
21 | 880 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
881 | org-refile-targets '((nil :maxlevel . 3) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
882 | (org-agenda-files :maxlevel . 3)) |
604
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
883 | ;; org-agenda-files (list "inbox.org") |
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
884 | org-agenda-include-diary t |
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
885 | org-agenda-include-inactive-timestamps t |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
886 | org-confirm-babel-evaluate nil |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
887 | org-src-fontify-natively t |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
888 | org-src-tabs-act-natively t |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
889 | org-footnote-section nil |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
890 | org-log-into-drawer t |
604
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
891 | org-log-refile 'time |
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
892 | org-log-redeadline 'time |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
893 | org-log-states-order-reversed nil |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
894 | org-clock-persist 'history) |
21 | 895 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
896 | (add-hook 'after-init-hook #'org-clock-persistence-insinuate) |
21 | 897 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
898 | ;; archive |
422
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
899 | (defun extract-org-directory-titles-as-list (&optional dir) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
900 | (interactive "D") |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
901 | |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
902 | (delete nil |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
903 | (let ((case-fold-search t)) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
904 | (mapcar (lambda (f) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
905 | (when (string-match "org$" f) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
906 | (with-temp-buffer |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
907 | (insert-file-contents-literally |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
908 | (concat (file-name-as-directory dir) f)) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
909 | (while (and (not (looking-at-p "#\\+TITLE:")) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
910 | (not (eobp))) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
911 | (forward-line)) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
912 | (when (not (eobp)) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
913 | (cons f (substring (thing-at-point 'line) 9 -1)))))) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
914 | (directory-files dir)))))) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
915 | |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
916 | (defun insert-directory-org-file-titles (&optional dir) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
917 | (interactive "D") |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
918 | (let ((files-titles (extract-org-directory-titles-as-list dir))) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
919 | (dolist (ft files-titles) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
920 | (insert (concat "[[file:" (car ft)"][" (cdr ft) "]]\n"))))) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
921 | |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
922 | (defun insert-directory-org-files (&optional dir) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
923 | (interactive "D") |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
924 | (let ((files (directory-files dir))) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
925 | (dolist (f files) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
926 | (insert (concat "[[file:" f "][" (file-name-base f) "]]\n"))))) |
3e0a434b0c56
init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents:
421
diff
changeset
|
927 | |
447 | 928 | (defun include-directory-org-files (&optional dir) |
929 | (interactive "D") |
|
930 | (let ((files (directory-files dir))) |
|
931 | (dolist (f files) |
|
932 | (insert (concat "#+INCLUDE: " f "\n"))))) |
|
933 | ||
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
934 | (defun org-todo-at-date (date) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
935 | "create a todo entry for a given date." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
936 | (interactive (list (org-time-string-to-time (org-read-date)))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
937 | (cl-flet ((org-current-effective-time (&rest r) date) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
938 | (org-today (&rest r) (time-to-days date))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
939 | (cond ((eq major-mode 'org-mode) (org-todo)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
940 | ((eq major-mode 'org-agenda-mode) (org-agenda-todo))))) |
21 | 941 | |
429 | 942 | (defun org-agenda-show-week-all (&optional arg ) (interactive "P") (org-agenda arg "n")) |
943 | ||
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
944 | (defun org-ask-location () |
606
6fc04c4d465c
emacs and rocksdb upgrades
Richard Westhaver <ellis@rwest.io>
parents:
604
diff
changeset
|
945 | "prompt for a location." |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
946 | (let* ((org-refile-targets '((nil :maxlevel . 9))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
947 | (hd (condition-case nil |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
948 | (car (org-refile-get-location)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
949 | (error (car org-refile-history))))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
950 | (goto-char (point-min)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
951 | (outline-next-heading) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
952 | (if (re-search-forward |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
953 | (format org-complex-heading-regexp-format (regexp-quote hd)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
954 | nil t) |
451
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
955 | (goto-char (line-beginning-position)) |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
956 | (goto-char (point-max)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
957 | (or (bolp) (insert "\n")) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
958 | (insert "* " hd "\n"))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
959 | (end-of-line)) |
21 | 960 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
961 | (defun org-capture-fileref-snippet (f type headers func-name) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
962 | (let* ((code-snippet |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
963 | (buffer-substring-no-properties (mark) (- (point) 1))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
964 | (file-name (buffer-file-name)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
965 | (file-base (file-name-nondirectory file-name)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
966 | (line-number (line-number-at-pos (region-beginning))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
967 | (initial-txt (if (null func-name) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
968 | (format "From [[file:%s::%s][%s]]:" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
969 | file-name line-number file-base) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
970 | (format "From ~%s~ (in [[file:%s::%s][%s]]):" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
971 | func-name file-name line-number |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
972 | file-base)))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
973 | (format " |
21 | 974 | %s |
975 | #+BEGIN_%s %s |
|
976 | %s |
|
977 | #+END_%s" initial-txt type headers code-snippet type))) |
|
978 | ||
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
979 | (defun org-capture-clip-snippet (f) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
980 | "Given a file, F, this captures the currently selected text |
21 | 981 | within an Org EXAMPLE block and a backlink to the file." |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
982 | (with-current-buffer (find-buffer-visiting f) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
983 | (org-capture-fileref-snippet f "EXAMPLE" "" nil))) |
21 | 984 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
985 | (defun org-capture-code-snippet (f) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
986 | "Given a file, F, this captures the currently selected text |
21 | 987 | within an Org SRC block with a language based on the current mode |
988 | and a backlink to the function and the file." |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
989 | (with-current-buffer (find-buffer-visiting f) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
990 | (let ((org-src-mode (replace-regexp-in-string "-mode" "" (format "%s" major-mode))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
991 | (func-name (which-function))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
992 | (org-capture-fileref-snippet f "SRC" org-src-mode func-name)))) |
21 | 993 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
994 | (defun region-to-clocked-task (start end) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
995 | "Copies the selected text to the currently clocked in org-mode task." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
996 | (interactive "r") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
997 | (org-capture-string (buffer-substring-no-properties start end) "3")) |
21 | 998 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
999 | (setq org-global-properties |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1000 | '(quote (("EFFORT_ALL" . "0:15 0:30 0:45 1:00 2:00 3:00 4:00 5:00 6:00 0:00") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1001 | ("STYLE_ALL" . "habit")))) |
21 | 1002 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1003 | (defun org-mode-ask-effort () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1004 | "Ask for an effort estimate when clocking in." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1005 | (unless (org-entry-get (point) "Effort") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1006 | (let ((effort |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1007 | (completing-read |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1008 | "Effort: " |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1009 | (org-entry-get-multivalued-property (point) "Effort")))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1010 | (unless (equal effort "") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1011 | (org-set-property "Effort" effort))))) |
21 | 1012 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1013 | (add-hook 'org-clock-in-prepare-hook |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1014 | 'org-mode-ask-effort) |
21 | 1015 | |
1016 | ;;;###autoload |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1017 | (defun org-adjust-tags-column-reset-tags () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1018 | "In org-mode buffers it will reset tag position according to |
21 | 1019 | `org-tags-column'." |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1020 | (when (and |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1021 | (not (string= (buffer-name) "*Remember*")) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1022 | (eql major-mode 'org-mode)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1023 | (let ((b-m-p (buffer-modified-p))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1024 | (condition-case nil |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1025 | (save-excursion |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1026 | (goto-char (point-min)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1027 | (command-execute 'outline-next-visible-heading) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1028 | ;; disable (message) that org-set-tags generates |
451
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
1029 | (cl-flet ((message (&rest ignored) nil)) |
638 | 1030 | (org-set-tags 1 t)) |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1031 | (set-buffer-modified-p b-m-p)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1032 | (error nil))))) |
21 | 1033 | |
580
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1034 | ;; TODO 2024-08-05: infer logbook column-titles/props |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1035 | (defun column-display-value-transformer (column-title value) |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1036 | "Modifies the value to display in column view." |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1037 | (let ((title (upcase column-title))) |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1038 | (when (and (member title '("UPDATED" "NOTE"))) |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1039 | (org-back-to-heading) |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1040 | (re-search-forward |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1041 | "Note taken on \\[\\(.*\\)\\] \\\\\\\\\\\n +\\(.*\\) *$" |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1042 | (org-entry-end-position) t)) |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1043 | (if (equal column-title "UPDATED") |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1044 | (match-string-no-properties 1) |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1045 | (match-string-no-properties 2)))) |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1046 | |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1047 | (setq org-columns-modify-value-for-display-function |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1048 | #'column-display-value-transformer) |
571685ae64f1
queries, cli fixes, dat/csv, emacs org-columns
Richard Westhaver <ellis@rwest.io>
parents:
507
diff
changeset
|
1049 | |
21 | 1050 | ;;;###autoload |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1051 | (defun org-align-all-tables () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1052 | "align all tables in current buffer" |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1053 | (interactive) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1054 | (org-table-map-tables 'org-table-align 'quietly)) |
21 | 1055 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1056 | (defun org-remove-redundant-tags () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1057 | "Remove redundant tags of headlines in current buffer. |
21 | 1058 | |
1059 | A tag is considered redundant if it is local to a headline and |
|
1060 | inherited by a parent headline." |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1061 | (interactive) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1062 | (when (eq major-mode 'org-mode) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1063 | (save-excursion |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1064 | (org-map-entries |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1065 | (lambda () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1066 | (let ((alltags (split-string (or (org-entry-get (point) "ALLTAGS") "") ":")) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1067 | local inherited tag) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1068 | (dolist (tag alltags) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1069 | (if (get-text-property 0 'inherited tag) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1070 | (push tag inherited) (push tag local))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1071 | (dolist (tag local) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1072 | (if (member tag inherited) (org-toggle-tag tag 'off))))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1073 | t nil)))) |
308 | 1074 | |
21 | 1075 | ;;;; Agenda |
651
af486e0a40c9
multi-binaries, working on removing x.lisp
Richard Westhaver <ellis@rwest.io>
parents:
648
diff
changeset
|
1076 | (cl-pushnew '("i" "Work in progress tasks" ((todo "WIP") (agenda))) org-agenda-custom-commands) |
604
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
1077 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1078 | (defvar org-agenda-overriding-header) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1079 | (defvar org-agenda-sorting-strategy) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1080 | (defvar org-agenda-restrict) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1081 | (defvar org-agenda-restrict-begin) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1082 | (defvar org-agenda-restrict-end) |
21 | 1083 | |
1084 | ;;;###autoload |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1085 | (defun org-agenda-reschedule-to-today () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1086 | (interactive) |
451
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
1087 | (cl-flet ((org-read-date (&rest rest) (current-time))) |
638 | 1088 | (call-interactively 'org-agenda-schedule))) |
21 | 1089 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1090 | ;; Patch org-mode to use vertical splitting |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1091 | (defadvice org-prepare-agenda (after org-fix-split) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1092 | (toggle-window-split)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1093 | (ad-activate 'org-prepare-agenda) |
21 | 1094 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1095 | (add-hook 'org-agenda-mode-hook (lambda () (hl-line-mode 1))) |
21 | 1096 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1097 | (defun org-agenda-log-mode-colorize-block () |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1098 | "Set different line spacing based on clock time duration." |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1099 | (save-excursion |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1100 | (let* ((colors (cl-case (alist-get 'background-mode (frame-parameters)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1101 | (light |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1102 | (list "#F6B1C3" "#FFFF9D" "#BEEB9F" "#ADD5F7")) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1103 | (dark |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1104 | (list "#aa557f" "DarkGreen" "DarkSlateGray" "DarkSlateBlue")))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1105 | pos |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1106 | duration) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1107 | (nconc colors colors) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1108 | (goto-char (point-min)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1109 | (while (setq pos (next-single-property-change (point) 'duration)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1110 | (goto-char pos) |
451
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
1111 | (when (and (not (equal pos (pos-bol))) |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1112 | (setq duration (org-get-at-bol 'duration))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1113 | ;; larger duration bar height |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1114 | (let ((line-height (if (< duration 15) 1.0 (+ 0.5 (/ duration 30)))) |
451
8e94959e96bd
build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents:
447
diff
changeset
|
1115 | (ov (make-overlay (pos-bol) (1+ (pos-eol))))) |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1116 | (overlay-put ov 'face `(:background ,(car colors) :foreground "black")) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1117 | (setq colors (cdr colors)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1118 | (overlay-put ov 'line-height line-height) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1119 | (overlay-put ov 'line-spacing (1- line-height)))))))) |
21 | 1120 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1121 | (add-hook 'org-agenda-finalize-hook #'org-agenda-log-mode-colorize-block) |
21 | 1122 | |
1123 | ;;;###autoload |
|
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1124 | (defun org-agenda-current-subtree-or-region (only-todos) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1125 | "Display an agenda view for the current subtree or region. |
21 | 1126 | With prefix, display only TODO-keyword items." |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1127 | (interactive "P") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1128 | (let ((starting-point (point)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1129 | header) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1130 | (with-current-buffer (or (buffer-base-buffer (current-buffer)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1131 | (current-buffer)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1132 | (if (use-region-p) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1133 | (progn |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1134 | (setq header "Region") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1135 | (put 'org-agenda-files 'org-restrict (list (buffer-file-name (current-buffer)))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1136 | (setq org-agenda-restrict (current-buffer)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1137 | (move-marker org-agenda-restrict-begin (region-beginning)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1138 | (move-marker org-agenda-restrict-end |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1139 | (save-excursion |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1140 | ;; If point is at beginning of line, include |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1141 | ;; heading on that line by moving forward 1. |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1142 | (goto-char (1+ (region-end))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1143 | (org-end-of-subtree)))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1144 | ;; No region; restrict to subtree. |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1145 | (save-excursion |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1146 | (save-restriction |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1147 | ;; In case the command was called from an indirect buffer, set point |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1148 | ;; in the base buffer to the same position while setting restriction. |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1149 | (widen) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1150 | (goto-char starting-point) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1151 | (setq header "Subtree") |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1152 | (org-agenda-set-restriction-lock)))) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1153 | ;; NOTE: Unlike other agenda commands, binding `org-agenda-sorting-strategy' |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1154 | ;; around `org-search-view' seems to have no effect. |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1155 | (let ((org-agenda-sorting-strategy '(priority-down timestamp-up)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1156 | (org-agenda-overriding-header header)) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1157 | (org-search-view (if only-todos t nil) "*")) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1158 | (org-agenda-remove-restriction-lock t) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1159 | (message nil)))) |
21 | 1160 | |
428 | 1161 | (defun org-export-translate-to-lang (term-translations &optional lang) |
1162 | "Adds desired translations to `org-export-dictionary'. |
|
1163 | TERM-TRANSLATIONS is alist consisted of term you want to translate |
|
1164 | and its corresponding translation, first as :default then as :html and |
|
1165 | :utf-8. LANG is language you want to translate to." |
|
1166 | (dolist (term-translation term-translations) |
|
1167 | (let* ((term (car term-translation)) |
|
1168 | (translation-default (nth 1 term-translation)) |
|
1169 | (translation-html (nth 2 term-translation)) |
|
1170 | (translation-utf-8 (nth 3 term-translation)) |
|
1171 | (term-list (assoc term org-export-dictionary)) |
|
1172 | (term-langs (cdr term-list))) |
|
1173 | (setcdr term-list (append term-langs |
|
1174 | (list |
|
1175 | (list lang |
|
1176 | :default translation-default |
|
1177 | :html translation-html |
|
1178 | :utf-8 translation-utf-8))))))) |
|
1179 | ||
604
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
1180 | ;;; Dictionary |
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
1181 | (setq dictionary-server "compiler.company" |
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
1182 | switch-to-buffer-obey-display-actions t) |
587 | 1183 | |
604
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
1184 | ;;; Ispell |
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
1185 | ;; requires aspell and a hunspell dictionary (hunspell-en_us) |
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
1186 | (setq-default ispell-program-name "aspell") |
74a55d5decce
emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents:
596
diff
changeset
|
1187 | (add-hook 'mail-send-hook #'ispell-message) |
587 | 1188 | |
421
05e9cbc641dd
break out templates from sk.el to skt.el
Richard Westhaver <ellis@rwest.io>
parents:
406
diff
changeset
|
1189 | ;;; Skel |
05e9cbc641dd
break out templates from sk.el to skt.el
Richard Westhaver <ellis@rwest.io>
parents:
406
diff
changeset
|
1190 | (require 'sk) |
05e9cbc641dd
break out templates from sk.el to skt.el
Richard Westhaver <ellis@rwest.io>
parents:
406
diff
changeset
|
1191 | (require 'skt) |
05e9cbc641dd
break out templates from sk.el to skt.el
Richard Westhaver <ellis@rwest.io>
parents:
406
diff
changeset
|
1192 | |
330
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1193 | (provide 'default) |
7c3bbb64cc73
print methods for skel objects, tweaking *no-exit* behavior
Richard Westhaver <ellis@rwest.io>
parents:
314
diff
changeset
|
1194 | ;; default.el ends here |