changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate emacs/default.el

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