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