changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > org > meta / annotate babel.org

changeset 10: 65bf0057ca35
parent: 995df3d48af0
child: 6e53b8dc7795
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 13 Sep 2024 21:21:53 -0400
permissions: -rw-r--r--
description: style updates
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
1
 #+title: babel
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
2
 #+author: Richard Westhaver
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
3
 #+description: Core Library of Babel
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
4
 #+setupfile: ../clean.theme
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
5
 #+property: header-args :exports both :eval no-export
5
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
6
 Welcome to the CC [[https://www.gnu.org/software/emacs/manual/html_node/org/Library-of-Babel.html][Library of Babel]]. This file contains a collection of
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
7
 code blocks which may be used by authors throughout our public
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
8
 documentation.
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
9
 
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
10
 This library depends on the [[vc:core][core]] being properly installed and the
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
11
 =core/emacs= init system loaded in emacs. See [[vc:home][home]] for details.
5
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
12
 
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
13
 To load the library itself use ~C-c C-v i~ while visiting this file in
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
14
 an org-mode buffer or =org-babel-lob-ingest= from elisp.
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
15
 * echo                                                                 :util:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
16
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
17
 :ID:       70334979-e1fd-442d-815f-9eeb7d21ef4f
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
18
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
19
 #+name: echo
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
20
 #+begin_src emacs-lisp :var input=""
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
21
 input
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
22
 #+end_src
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
23
 * read                                                                   :fs:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
24
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
25
 :ID:       dade8198-f8ff-4ae9-a52d-becdc1a9c3ce
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
26
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
27
 #+name: read
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
28
 #+begin_src emacs-lisp :var file="" :var format=""
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
29
 (if (string= format "csv")
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
30
     (with-temp-buffer
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
31
       (org-table-import (expand-file-name file) nil)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
32
       (org-table-to-lisp))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
33
   (with-temp-buffer
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
34
     (insert-file-contents (expand-file-name file))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
35
     (buffer-string)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
36
 #+end_src
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
37
 * write                                                                  :fs:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
38
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
39
 :ID:       a866820f-e67c-49aa-ba7d-697c4f708654
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
40
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
41
 #+name: write
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
42
 #+begin_src emacs-lisp :var data="" :var file="" :var ext='()
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
43
 (cl-flet ((echo (r) (if (stringp r) r (format "%S" r))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
44
   (with-temp-file file
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
45
     (case (and (listp data)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
46
                (or ext (intern (file-name-extension file))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
47
       ('tsv (insert (orgtbl-to-tsv data '(:fmt echo))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
48
       ('csv (insert (orgtbl-to-csv data '(:fmt echo))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
49
       (t    (org-babel-insert-result data)))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
50
 nil
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
51
 #+end_src
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
52
 * json                                                                 :json:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
53
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
54
 :ID:       063109d3-3bb1-45b3-b963-6b306776798c
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
55
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
56
 #+name: json
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
57
 #+begin_src emacs-lisp :var file='() :var url='()
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
58
 (require 'json)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
59
 (cond
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
60
  (file
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
61
   (org-babel-with-temp-filebuffer file
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
62
     (goto-char (point-min))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
63
     (json-read)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
64
  (url
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
65
   (require 'w3m)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
66
   (with-temp-buffer
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
67
     (w3m-retrieve url)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
68
     (goto-char (point-min))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
69
     (json-read))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
70
 #+end_src
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
71
 
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
72
 * headline                                                              :org:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
73
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
74
 :ID:       e21d6130-804d-4ac7-bccf-8303fd33f509
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
75
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
76
 #+name: headline
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
77
 #+begin_src emacs-lisp :var headline="" :var file='()
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
78
 (save-excursion
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
79
   (when file (get-file-buffer file))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
80
   (org-open-link-from-string (org-make-link-string headline))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
81
   (save-restriction
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
82
     (org-narrow-to-subtree)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
83
     (buffer-string)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
84
 #+end_src
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
85
 * transpose                                                           :table:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
86
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
87
 :ID:       e35c9901-73b6-4794-8900-42860378c7dd
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
88
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
89
 #+name: transpose
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
90
 #+begin_src emacs-lisp :var table=""
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
91
   (apply #'mapcar #'list (list table))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
92
 #+end_src
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
93
 * all-to-string                                                       :table:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
94
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
95
 :ID:       a122b2bd-abd6-4486-97c8-242e6534e5a8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
96
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
97
 #+name: all-to-string
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
98
 #+begin_src emacs-lisp :var tbl='()
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
99
 (defun all-to-string (tbl)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
100
   (if (listp tbl)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
101
       (mapcar #'all-to-string tbl)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
102
     (if (stringp tbl)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
103
         tbl
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
104
       (format "%s" tbl))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
105
 (all-to-string tbl)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
106
 #+end_src
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
107
 * systemd-list-units                                                     :os:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
108
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
109
 :ID:       3b23c98d-a286-4988-846d-2dab3d25803d
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
110
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
111
 #+name: systemd-list-units
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
112
 #+begin_src sh :results replace
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
113
 systemctl list-units --state=running | grep -v systemd | awk '{print $1}' | grep service
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
114
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
115
 
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
116
 * wc-lines                                                               :fs:
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
117
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
118
 :ID:       70008815-9634-48ca-b672-b8dcf2a44074
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
119
 :END:
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
120
 #+name: wc-lines
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
121
 #+begin_src shell :dir "."
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
122
 cat * | wc -l
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
123
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
124
 
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
125
 #+RESULTS: wc-lines
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
126
 : 1574
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
127
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
128
 * wc-words                                                               :fs:
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
129
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
130
 :ID:       be755790-f367-4654-87e5-cd2927bfef45
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
131
 :END:
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
132
 #+name: wc-words
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
133
 #+begin_src shell :dir "."
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
134
 cat * | wc -w
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
135
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
136
 
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
137
 #+RESULTS: wc-words
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
138
 : 5944
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
139
 
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
140
 * buffer-name                                                          :util:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
141
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
142
 :ID:       7e9f492e-224a-4cf5-b36d-828ccedc630a
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
143
 :END:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
144
 #+name: buffer-name
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
145
 #+begin_src emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
146
 (buffer-name)
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
147
 #+end_src
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
148
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
149
 * lines                                                                  :fs:
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
150
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
151
 :ID:       670e9855-f8d2-43eb-86af-3ef7292f90b9
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
152
 :END:
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
153
 #+name: lines
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
154
 #+begin_src shell :dir "." :results table replace
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
155
   input=`tokei -C -o json`
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
156
   echo $input | jq -r '.["Total"] | .code, .comments, .blanks'
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
157
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
158
 
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
159
 #+RESULTS: lines
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
160
 | 1584 |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
161
 |    1 |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
162
 |  127 |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
163
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
164
 * langs                                                                  :fs:
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
165
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
166
 :ID:       ff9682f0-bb64-427f-a87d-e0c655f9fdc9
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
167
 :END:
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
168
 #+name: langs
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
169
 #+begin_src shell :dir "." :results output table replace
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
170
   input=`tokei -C -o json`
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
171
   echo $input | jq -r '.["Total"].children | keys[]'
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
172
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
173
 
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
174
 #+RESULTS: langs
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
175
 : Org
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
176
 
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
177
 * sum-str-nums                                                         :util:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
178
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
179
 :ID:       d3c4ac69-337f-430b-a4db-760504f099ea
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
180
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
181
 #+name: sum-str-nums
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
182
 #+begin_src emacs-lisp :var str=lines()
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
183
   (let ((tot 0))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
184
     (cl-loop
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
185
      with tot = 0
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
186
      for i in (split-string str) do
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
187
      (setf tot (+ tot (string-to-number i)))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
188
      finally return tot))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
189
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
190
 
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
191
 * org-task-tbl                                                          :org:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
192
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
193
 :ID:       0ee5b499-6f0b-4e15-8c6e-4876e90c20a9
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
194
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
195
 #+name: org-task-tbl
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
196
 #+begin_src emacs-lisp
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
197
   (let* ((ast (org-element-parse-buffer)) ;; built up the abstract syntax tree of the org buffer
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
198
          item-types ; all occuring item types. It could be that some task has more item types than another.
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
199
          tasks ; accumulation list for the tasks
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
200
          current-task ; name of the current task (header of level 1)
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
201
          task-items) ; items of the current task
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
202
     (org-element-map ast 'headline
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
203
       (lambda (hl)
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
204
         (cl-case (org-element-property :level hl)
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
205
           (1 ; We assume here that headers of level 1 are tasks.
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
206
            (when current-task ; registering the old task
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
207
              (setq tasks (cons (cons current-task (nreverse task-items)) tasks)))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
208
            (setq current-task (org-element-property :raw-value hl) ; preparing the new task
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
209
                  task-items nil))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
210
           (2 ; item
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
211
            (let ((item-type (org-element-property :raw-value hl)))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
212
              (setq item-types (cons item-type item-types))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
213
              (setq task-items (cons (cons item-type (org-element-property :todo-keyword hl))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
214
                                     task-items)))))))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
215
     (setq tasks (nreverse (cons (cons current-task (nreverse task-items)) tasks)) ;add the last task
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
216
           item-types (sort (cl-remove-duplicates (nreverse item-types) :test 'string-equal) ; list of unique item types
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
217
                            #'string<)) ;;Sorting the items lexicographical. Other criteria could be applied.
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
218
       ;;;;;;;;;;
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
219
     ;; generating the output table:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
220
     (apply
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
221
      #'list
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
222
      (cons "Item" (mapcar #'car tasks)) ; header
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
223
      'hline
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
224
      ;; rows:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
225
      (mapcar
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
226
       ;; mapping the items to the todo states associated to the tasks:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
227
       (lambda (item-type)
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
228
         (cons item-type
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
229
               (mapcar
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
230
                (lambda (task)
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
231
                  (let ((todo-status (cdr (assoc-string item-type task))))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
232
                    todo-status))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
233
                tasks)))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
234
       item-types)))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
235
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
236
 
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
237
 * org-headlines-map                                                     :org:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
238
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
239
 :ID:       05955228-ca76-48bc-b769-f648b4310a9c
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
240
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
241
 #+name: org-headlines-map
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
242
 #+begin_src elisp
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
243
   (org-element-map (org-element-parse-buffer 'headline)
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
244
       'headline
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
245
     (lambda(hl)
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
246
       (let ((parent (org-element-property :parent hl)))
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
247
         (and (eq (org-element-type parent) 'headline)
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
248
              (list (org-element-property :title parent) (org-element-property :title hl))))))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
249
 
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
250
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
251
 
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
252
 * trim                                                                 :util:
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
253
 #+name: trim
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
254
 #+begin_src bash :var str=""
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
255
   # remove leading whitespace characters
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
256
   str="${str#"${str%%[![:space:]]*}"}"
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
257
   # remove trailing whitespace characters
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
258
   str="${str%"${str##*[![:space:]]}"}"
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
259
   printf '%s' "$str"
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
260
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
261
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
262
 #+RESULTS: trim
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
263
 : a b c
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
264
 
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
265
 * files                                                                  :fs:
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
266
 :PROPERTIES:
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
267
 :ID:       e2ff9dcf-8340-48b8-a1a6-e0036cbcc495
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
268
 :END:
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
269
 #+name: format-files
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
270
 #+begin_src python :var tab="" :results table :colnames yes :hlines yes :exports results :eval no-export
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
271
 return tab
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
272
 #+end_src
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
273
 
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
274
 #+name: files
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
275
 #+begin_src sh :results replace table :dir "." :colnames yes :hlines yes :post format-files(*this*)
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
276
   ls -lh $PWD --time-style=long-iso \
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
277
     |awk '{if (NR!=1) print $8, $5, $6"-"$7}' \
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
278
     |awk 'BEGIN{print "file size updated"}{print $0}'
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
279
 #+end_src
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
280
 
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
281
 #+RESULTS: files
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
282
 | file          | size |          updated |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
283
 |---------------+------+------------------|
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
284
 | babel.org     | 24K  | 2024-09-07-19:45 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
285
 | business.org  | 803  | 2024-08-19-21:19 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
286
 | glossary.org  | 1.2K | 2024-09-06-15:35 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
287
 | mindset.org   | 119  | 2024-08-15-21:20 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
288
 | pitch.org     | 1.6K | 2024-08-11-17:16 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
289
 | readme.org    | 1.1K | 2024-08-27-21:13 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
290
 | style.org     | 3.2K | 2024-08-21-16:18 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
291
 | tech.org      | 3.6K | 2024-08-21-18:16 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
292
 | ulang.org     | 12K  | 2024-09-06-16:12 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
293
 | workflows.org | 7.5K | 2024-09-03-16:59 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
294
 
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
295
 * skel-show                                                            :skel:
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
296
 #+name: skel-show
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
297
 #+begin_src shell :var key=":id" :results replace
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
298
   echo $(skel show $key)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
299
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
300
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
301
 #+RESULTS: skel-show
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
302
 : 15bc-b763-ec92-1cf5
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
303
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
304
 #+RESULTS:
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
305
 : (core lisp rust emacs c)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
306
 * project-root                                                      :project:
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
307
 #+name: project-root
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
308
 #+begin_src emacs-lisp :var project=(project-current)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
309
   (project-root project)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
310
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
311
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
312
 #+RESULTS: project-root
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
313
 : ~/comp/org/meta/
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
314
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
315
 * project-name                                                      :project:
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
316
 #+name: project
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
317
 #+begin_src emacs-lisp :var project="."
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
318
   (project-name (project-current nil project))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
319
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
320
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
321
 #+RESULTS: project
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
322
 : meta
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
323
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
324
 * project-vc                                                        :project:
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
325
 #+name: project-vc
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
326
 #+begin_src emacs-lisp :var project=(project-current)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
327
   (cadr project)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
328
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
329
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
330
 #+RESULTS: project-vc
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
331
 : Hg
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
332
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
333
 * project-list                                                      :project:
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
334
 #+name: project-list
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
335
 #+begin_src emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
336
   project--list
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
337
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
338
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
339
 #+RESULTS: project-list
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
340
 | ~/comp/core/                    |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
341
 | ~/comp/org/meta/                |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
342
 | ~/.emacs.d/elpa/corfu-terminal/ |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
343
 | ~/comp/core                     |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
344
 | ~/comp/scratch/zig-pg/          |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
345
 | ~/comp/scratch/wam/             |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
346
 | ~/comp/scratch/vdeplug4/        |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
347
 | ~/comp/scratch/tmux/            |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
348
 | ~/comp/scratch/scryer-prolog/   |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
349
 | ~/comp/scratch/screamer/        |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
350
 | ~/comp/scratch/rerun/           |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
351
 | ~/comp/scratch/r8k/             |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
352
 | ~/comp/scratch/qemu/            |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
353
 | ~/comp/scratch/octatrack/       |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
354
 | ~/comp/scratch/nu_plugin_quic/  |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
355
 | ~/comp/scratch/mpk/             |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
356
 | ~/comp/scratch/lemmy/           |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
357
 | ~/comp/scratch/io-uring/        |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
358
 | ~/comp/scratch/infodb/          |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
359
 | ~/comp/scratch/hy/              |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
360
 | ~/comp/scratch/hg/              |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
361
 | ~/comp/scratch/hackrf/          |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
362
 | ~/comp/scratch/gengat/          |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
363
 | ~/comp/scratch/fin/             |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
364
 | ~/comp/scratch/egui/            |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
365
 | ~/comp/scratch/egui-video/      |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
366
 | ~/comp/scratch/dev/             |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
367
 | ~/comp/scratch/davfs2/          |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
368
 | ~/comp/scratch/crust-0/         |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
369
 | ~/comp/scratch/cepl.examples/   |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
370
 | ~/comp/scratch/cc-install/      |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
371
 | ~/comp/scratch/blok/            |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
372
 | ~/comp/scratch/archiso/         |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
373
 | ~/comp/scratch/arch-boxes/      |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
374
 | ~/comp/scratch/                 |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
375
 | ~/comp/pod/                     |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
376
 | ~/comp/org/notes/               |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
377
 | ~/comp/org/docs/                |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
378
 | ~/comp/org/blog/                |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
379
 | ~/comp/org/archive/             |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
380
 | ~/comp/org/                     |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
381
 | ~/comp/infra/.stash/src/emacs/  |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
382
 | ~/comp/infra/                   |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
383
 | ~/comp/home/                    |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
384
 | ~/comp/etc/                     |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
385
 | ~/comp/demo/                    |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
386
 | ~/comp/box/                     |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
387
 | ~/.emacs.d/elpa/org-glossary/   |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
388
 | ~/comp/org/plan/                |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
389
 | ~/.emacs.d/elpa/eglot-x/        |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
390
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
391
 * project-details                                                   :project:
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
392
 #+name: project-details
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
393
 #+begin_src emacs-lisp :var project="."
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
394
   (let* ((project (project-current nil project))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
395
          (name (project-name project))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
396
          (root (project-root project))
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
397
          (default-directory root)
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
398
          (vc-type (downcase (symbol-name (cadr project))))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
399
          (age (org-sbe hg-log-age ''(dir root)))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
400
          (rev (org-sbe hg-rev ''(dir root)))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
401
          (num (org-sbe hg-id-num ''(dir root)))
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
402
          (tags (org-sbe skel-show (key "':tags'")))
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
403
          (id (org-sbe skel-show (key "':id'") ''(dir root)))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
404
          (version (org-sbe skel-show (key "':version'") ''(dir root)))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
405
          (description (org-sbe skel-show (key "':description'") ''(dir root)))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
406
          (vc (format ":%s [[https://vc.compiler.company/%s][vc.compiler.company/%s]] :rev %s"
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
407
                      vc-type name name
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
408
                      (format "[[https://vc.compiler.company/%s/rev/%s][%s:%s]]" name rev rev num)))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
409
          (langs (mapcar (lambda (x) (downcase (format "%s" x))) (flatten (read (org-sbe langs ''(dir root))))))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
410
          (line-counts (flatten (read (org-sbe lines ''(dir root)))))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
411
          (line-sum (cl-reduce '+ line-counts))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
412
          (lines (format "%s :λ %s :# %s :_ %s" line-sum (pop line-counts) (pop line-counts) (pop line-counts))))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
413
     `(hline
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
414
       (name ,name)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
415
       (version ,version)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
416
       (description ,description)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
417
       (skel-id ,id)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
418
       (root ,root)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
419
       (vc ,vc)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
420
       (tags ,tags)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
421
       (updated ,age)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
422
       (langs ,langs)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
423
       (lines ,lines)
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
424
       hline))
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
425
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
426
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
427
 #+RESULTS: project-details
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
428
 |-------------+---------------------------------------------------|
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
429
 | name        | meta                                              |
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
430
 | version     |                                                   |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
431
 | description |                                                   |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
432
 | skel-id     |                                                   |
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
433
 | root        | ~/comp/org/meta/                                  |
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
434
 | vc          | :hg [[https://vc.compiler.company/meta][vc.compiler.company/meta]] :rev [[https://vc.compiler.company/meta/rev/995df3d48af0][995df3d48af0:9+]] |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
435
 | tags        |                                                   |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
436
 | updated     | Sat Sep 07 22:38:02 2024 -0400                    |
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
437
 | langs       | (org)                                             |
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
438
 | lines       | 1828 :λ 1685 :# 4 :_ 139                          |
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
439
 |-------------+---------------------------------------------------|
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
440
 
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
441
 * project-files                                                  :project:fs:
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
442
 List all files found in current project. Ignores files which don't
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
443
 exist locally.
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
444
 #+name: project-files
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
445
 #+begin_src emacs-lisp :var project="." :results replace
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
446
   (let* ((project (project-current nil project))
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
447
          (name (project-name project))
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
448
          (root (expand-file-name (project-root project)))
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
449
          (project-files-relative-names t)
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
450
          (project-vc-include-untracked nil))
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
451
     `((file size modified)
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
452
       hline
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
453
       ,@(mapcar (lambda (x)
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
454
                   ;; don't rely on project/vc - only include files which exist locally
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
455
                   (when-let ((attr (file-attributes x)))
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
456
                     (list (format "[[https://vc.compiler.company/%s/file/tip/%s][%s]]" name x x)
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
457
                           (when-let ((size (file-attribute-size attr)))
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
458
                             (file-size-human-readable size))
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
459
                           (format-time-string "%Y-%m-%d %H:%M:%S" (file-attribute-modification-time attr)))))
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
460
                 (project-files project))))
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
461
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
462
 
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
463
 #+RESULTS: project-files
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
464
 | file          | size | modified            |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
465
 |---------------+------+---------------------|
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
466
 | [[https://vc.compiler.company/meta/file/tip/babel.org][babel.org]]     | 30k  | 2024-09-08 20:35:41 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
467
 | [[https://vc.compiler.company/meta/file/tip/.hgignore][.hgignore]]     | 7    | 2024-08-11 10:08:57 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
468
 | [[https://vc.compiler.company/meta/file/tip/business.org][business.org]]  | 803  | 2024-08-19 21:19:33 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
469
 | [[https://vc.compiler.company/meta/file/tip/glossary.org][glossary.org]]  | 1.1k | 2024-09-06 15:35:52 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
470
 | [[https://vc.compiler.company/meta/file/tip/mindset.org][mindset.org]]   | 119  | 2024-08-15 21:20:13 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
471
 | [[https://vc.compiler.company/meta/file/tip/pitch.org][pitch.org]]     | 1.6k | 2024-08-11 17:16:04 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
472
 | [[https://vc.compiler.company/meta/file/tip/readme.org][readme.org]]    | 1k   | 2024-08-27 21:13:01 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
473
 | [[https://vc.compiler.company/meta/file/tip/style.org][style.org]]     | 3.2k | 2024-08-21 16:18:55 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
474
 | [[https://vc.compiler.company/meta/file/tip/tech.org][tech.org]]      | 3.5k | 2024-08-21 18:16:26 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
475
 | [[https://vc.compiler.company/meta/file/tip/ulang.org][ulang.org]]     | 11k  | 2024-09-06 16:12:00 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
476
 | [[https://vc.compiler.company/meta/file/tip/workflows.org][workflows.org]] | 7.4k | 2024-09-03 16:59:05 |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
477
 
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
478
 * project-tasks                                                 :project:org:
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
479
 List all project tasks.
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
480
 #+name: project-tasks
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
481
 #+begin_src emacs-lisp :results replace
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
482
   `((todo item tags scheduled deadline effort)
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
483
     hline)
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
484
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
485
 
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
486
 #+RESULTS: project-tasks
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
487
 | todo | item | tags | scheduled | deadline | effort |
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
488
 |------+------+------+-----------+----------+--------|
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
489
 
5
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
490
 * env-table                                                              :os:
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
491
 :PROPERTIES:
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
492
 :ID:       4c824478-0eaa-49b9-905f-2c9a6d4220eb
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
493
 :END:
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
494
 #+begin_src sh :results table replace
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
495
   for i in $(env);
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
496
   do
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
497
       echo "$i|" | sed '0,/=/s//|/'
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
498
   done
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
499
 #+end_src
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
500
 
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
501
 * get-env                                                                :os:
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
502
 :PROPERTIES:
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
503
 :ID:       8c1ecc68-ca25-4e72-81d8-415a43e59ae4
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
504
 :END:
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
505
 #+name: get-env
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
506
 #+begin_src elisp :results output :var key="HOME"
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
507
 (princ (getenv key))
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
508
 #+end_src
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
509
 
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
510
 #+RESULTS: get-env
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
511
 : /home/ellis
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
512
 
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
513
 * org-current-h1-title                                                  :org:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
514
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
515
 :ID:       ae61e7ed-c9ed-414c-8a5f-12b1702f018e
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
516
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
517
 #+name: org-current-h1-title
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
518
 #+begin_src emacs-lisp :results value
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
519
   (org-element-property :title (save-excursion (org-up-heading-safe) (org-element-at-point)))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
520
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
521
 
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
522
 #+RESULTS: org-current-h1-title
5
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
523
 : org-current-h1-title
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
524
 
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
525
 * get-emacs-version                                                   :emacs:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
526
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
527
 :ID:       af3d83a1-31bd-41b4-be35-c1f33507fd8d
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
528
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
529
 #+name: get-emacs-version
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
530
 #+begin_src elisp :results output
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
531
   (princ (concat (format "%s\n" (emacs-version))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
532
 		 (format "Org v%s" (org-version))))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
533
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
534
 
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
535
 * vc-buffer-log                                                          :vc:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
536
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
537
 :ID:       b2d9f6f0-2ac7-4e45-abbe-b32cc2d0f7aa
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
538
 :END:
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
539
 #+name: vc-buffer-log
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
540
 #+header: :var limit=-1
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
541
 #+header: :var buf=(buffer-name (current-buffer))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
542
 #+begin_src emacs-lisp
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
543
 ;; Most of this code is copied from vc.el vc-print-log
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
544
 (require 'vc)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
545
 (when (vc-find-backend-function
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
546
        (vc-backend (buffer-file-name (get-buffer buf))) 'print-log)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
547
   (let ((limit -1)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
548
         (vc-fileset nil)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
549
         (backend nil)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
550
         (files nil))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
551
     (with-current-buffer (get-buffer buf)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
552
       (setq vc-fileset (vc-deduce-fileset t)) ; FIXME: Why t? --Stef
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
553
       (setq backend (car vc-fileset))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
554
       (setq files (cadr vc-fileset)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
555
     (with-temp-buffer
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
556
       (let ((status (vc-call-backend
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
557
                      backend 'print-log files (current-buffer))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
558
         (when (and (processp status)   ; Make sure status is a process
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
559
                    (= 0 (process-exit-status status))) ; which has not terminated
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
560
           (while (not (eq 'exit (process-status status)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
561
             (sit-for 1 t)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
562
         (buffer-string)))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
563
 #+end_src
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
564
 * hg-rev                                                                 :vc:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
565
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
566
 :ID:       8119cf43-f2e7-4829-939c-fc4e8531ae6c
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
567
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
568
 #+name: hg-rev
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
569
 #+begin_src sh :dir "."
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
570
 hg log -l 1 --template '{node|short}'
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
571
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
572
 
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
573
 #+RESULTS: hg-rev
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
574
 : 06698c6708de
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
575
 * hg-id-num                                                              :vc:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
576
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
577
 :ID:       9602faee-5522-445b-a568-be603e20a978
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
578
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
579
 #+name: hg-id-num
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
580
 #+begin_src shell :dir "."
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
581
 hg id -n
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
582
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
583
 
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
584
 #+RESULTS: hg-id-num
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
585
 : 8+
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
586
 
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
587
 * hg-log-since                                                           :vc:
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
588
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
589
 :ID:       8492f4fb-51a6-4221-8705-a15eb5a50ed4
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
590
 :END:
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
591
 #+name: hg-log-since
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
592
 #+begin_src shell :dir "."
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
593
   hg log -l1 --template "{date|age}"
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
594
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
595
 
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
596
 #+RESULTS: hg-log-since
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
597
 : 3 days ago
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
598
 
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
599
 * hg-log-age                                                             :vc:
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
600
 #+name: hg-log-age
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
601
 #+begin_src shell :dir "."
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
602
   # hg log -l1 --template "{date(date, '%Y-%m-%d %H:%M:%S')}\n"
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
603
   hg log -l1 --template "{date(date)}\n"
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
604
 #+end_src
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
605
 
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
606
 #+RESULTS: hg-log-age
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
607
 : Sat Sep 07 22:38:02 2024 -0400
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
608
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
609
 * hg-churn                                                               :vc:
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
610
 #+name: hg-churn
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
611
 #+begin_src shell :dir "~/comp/core" :results output
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
612
   hg churn -f "%Y-%m" -s
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
613
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
614
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
615
 #+RESULTS: hg-churn
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
616
 #+begin_example
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
617
 2023-10  36394 ************************************
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
618
 2023-11  12777 ************
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
619
 2023-12  61624 *************************************************************
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
620
 2024-01   4923 ****
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
621
 2024-02   5701 *****
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
622
 2024-03  27292 ***************************
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
623
 2024-04  23322 ***********************
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
624
 2024-05  24141 ***********************
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
625
 2024-06  17608 *****************
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
626
 2024-07   9757 *********
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
627
 2024-08  16177 ****************
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
628
 2024-09   2430 **
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
629
 #+end_example
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
630
 
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
631
 * hg-status                                                              :vc:
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
632
 #+name: hg-status
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
633
 #+begin_src shell :dir "."
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
634
 hg status
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
635
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
636
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
637
 #+RESULTS: hg-status
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
638
 | M | babel.org    |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
639
 | M | glossary.org |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
640
 | M | ulang.org    |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
641
 
10
65bf0057ca35 style updates
Richard Westhaver <ellis@rwest.io>
parents: 9
diff changeset
642
 * homer                                                               :homer:
9
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
643
 #+begin_src shell
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
644
 homer
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
645
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
646
 
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
647
 #+RESULTS:
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
648
 | :PUSH | /home/ellis/.stash/scripts/wg-gen-keys.sh                   |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
649
 | :PUSH | /home/ellis/.stash/scripts/upgrade.sh                       |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
650
 | :PUSH | /home/ellis/.stash/scripts/sc.sh                            |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
651
 | :PUSH | /home/ellis/.stash/scripts/rec.sh                           |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
652
 | :PUSH | /home/ellis/.stash/scripts/port-scan.sh                     |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
653
 | :PUSH | /home/ellis/.stash/scripts/podman-machine-default-update.sh |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
654
 | :PUSH | /home/ellis/.stash/scripts/pacman-pkgsearch.sh              |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
655
 | :PUSH | /home/ellis/.stash/scripts/nfs-export.sh                    |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
656
 | :PUSH | /home/ellis/.stash/scripts/new-mail.sh                      |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
657
 | :PUSH | /home/ellis/.stash/scripts/genfstab.sh                      |
Richard Westhaver <ellis@rwest.io>
parents: 8
diff changeset
658
 | :PUSH | /home/ellis/.stash/scripts/gen-libera-cert.sh               |
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
659
 
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
660
 * sh-ob-tangle                                                          :org:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
661
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
662
 :ID:       7b311df4-83a3-489d-89a0-929928bce051
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
663
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
664
 #+name: sh-ob-tangle
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
665
 #+begin_src sh
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
666
   emacs -Q --batch --eval "
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
667
       (progn
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
668
 	(require 'ob-tangle)
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
669
 	(dolist (file command-line-args-left)
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
670
 	  (with-current-buffer (find-file-noselect file)
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
671
 	    (org-babel-tangle))))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
672
     " "$@"
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
673
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
674
 
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
675
 * make-dot-tree                                                         :dot:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
676
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
677
 :ID:       5588f446-2d7a-4261-b829-68effd3778ac
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
678
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
679
 #+name: make-dot-tree
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
680
 #+begin_src emacs-lisp :var table=org-headlines-map() :results output
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
681
   (mapcar #'(lambda (x)
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
682
 		(princ (format "\"%s\" -> \"%s\";\n" (cl-first x) (cl-second x))))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
683
 	  table)
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
684
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
685
 
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
686
 * gen-dot-tree                                                          :dot:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
687
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
688
 :ID:       a51c943d-0f01-4c8f-96ec-db28ae7fef26
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
689
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
690
 #+name: gen-dot-tree
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
691
 #+begin_src dot :file /tmp/tree.png :cmdline -Kdot -Tpng :var input=make-dot-tree() :eval no-export
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
692
 digraph {
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
693
    rankdir=TB;
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
694
    splines=true;
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
695
    node [shape=box];
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
696
    $input
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
697
   }
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
698
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
699
 
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
700
 * user-slime                                                           :lisp:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
701
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
702
 :ID:       9ffd1d10-ffad-486e-9d7d-82422342b9ff
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
703
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
704
 #+name: user-slime
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
705
 #+begin_src emacs-lisp :results silent :eval no-export
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
706
   (unless (slime-connected-p) (slime))
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
707
   (slime-eval '(ql:quickload :user))
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
708
   (slime-repl-set-package "USER")
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
709
 #+end_src
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
710
 * std-slime                                                            :lisp:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
711
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
712
 :ID:       334dae41-5c35-48bd-8368-71d79f5e48d8
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
713
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
714
 #+name: std-slime
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
715
 #+begin_src emacs-lisp :results silent :eval no-export
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
716
   (unless (slime-connected-p) (slime))
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
717
   (slime-eval '(ql:quickload :std))
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
718
   (slime-repl-set-package "STD-USER")
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
719
 #+end_src
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
720
 * test-slime                                                           :lisp:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
721
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
722
 :ID:       ff559b09-1c18-422c-a0ae-681180f685cf
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
723
 :END:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
724
 #+name: std-slime
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
725
 #+begin_src emacs-lisp :results silent :eval no-export
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
726
   (unless (slime-connected-p) (slime))
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
727
   (slime-eval '(ql:quickload :core/tests))
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
728
   (slime-repl-set-package "CORE/TESTS")
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
729
 #+end_src
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
730
 * cargo-update-dir                                                     :rust:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
731
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
732
 :ID:       67dc87bb-a27b-46e4-a02f-58daac514630
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
733
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
734
 #+name: cargo-update-dir
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
735
 #+begin_src sh :var dir=()
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
736
 # update all crates in dir
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
737
 set -eu
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
738
 case $0 in
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
739
    (/*) dir=${0%/*}/;;
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
740
    (*/*) dir=./${0%/*};;
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
741
    (*) dir=.;;
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
742
 esac
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
743
 
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
744
 find "$dir/.." -name Cargo.toml -execdir cargo update \;
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
745
 #+end_src
5
6538a100c792 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 2
diff changeset
746
 * rust-target-triple                                                   :rust:
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
747
 :PROPERTIES:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
748
 :ID:       02f96ff2-c607-4889-979c-943203b8ad65
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
749
 :END:
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
750
  #+name: rust-target-triple
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
751
  #+begin_src shell
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
752
  rustc -vV | sed -n -e 's/^host: //p'
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
753
  #+end_src
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
754
 * post-align-table                                                    :table:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
755
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
756
 :ID:       d8a3cc05-a4ec-4820-935d-63f676ee32a3
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
757
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
758
 #+NAME: post-align-tables
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
759
 #+header: :var text="|5|22222|\n|0||\n|12|45|\n|---\n|||\n#+TBLFM:@>$1=vsum(@1..@-1)\n\n|1|22222|\n|0||\n|12|45|\n"
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
760
 #+BEGIN_SRC emacs-lisp :results value :exports both
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
761
   (with-temp-buffer
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
762
     (erase-buffer)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
763
     (cl-assert text nil "PostAlignTables received nil instead of text ")
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
764
     (insert text)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
765
     (beginning-of-buffer)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
766
     (org-mode)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
767
     (while
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
768
         (search-forward-regexp org-table-any-line-regexp nil t)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
769
       (org-table-align)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
770
       (org-table-recalculate 'iterate)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
771
       (goto-char (org-table-end)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
772
     (buffer-string))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
773
 #+END_SRC
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
774
 * insert-table-from-file                                           :table:fs:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
775
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
776
 :ID:       bde8705d-0969-493d-91b9-51a93ae09efa
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
777
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
778
 #+NAME: insert-table-from-file
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
779
 #+HEADER: :var tname="table" fname="/tmp/tbl.org" newcaption="" newattr="" newname=""
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
780
 #+BEGIN_SRC elisp :results output drawer
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
781
   (let* ((klist (cl-remove-if (lambda (x) (equal (cadr x) ""))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
782
     			    `(("ATTR_LATEX" ,newattr) ("CAPTION" ,newcaption) ("NAME" ,newname))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
783
          (tbl
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
784
           (with-temp-buffer
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
785
     	  (org-mode)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
786
     	  (insert-file-contents fname)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
787
     	  (goto-char (point-min))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
788
     	  (unless (re-search-forward
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
789
     		   (concat "^[ \t]*#\\+\\(tbl\\)?name:[ \t]*"
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
790
     			   (regexp-quote tname) "[ \t]*$")
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
791
     		   nil t)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
792
     	    (user-error "Can't find table named %s in file" tname fname))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
793
     	  (forward-line 0)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
794
     	  (let ((tstart (match-beginning 0))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
795
     	        tend)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
796
     	    (while (looking-at "^[ \t]*#\\+\\([^:]+\\): *\\(.*\\)")
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
797
     	      (add-to-list 'klist `(,(upcase (match-string 1)) ,(match-string 2)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
798
     	      (delete-region (point) (line-end-position))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
799
     	      (kill-line))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
800
     	    (unless (looking-at org-table-line-regexp)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
801
     	      (looking-at "^.*$")
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
802
     	      (user-error "no table at location of %s, Looking-at: '%s'" tname (match-string 0)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
803
     	    (goto-char (org-table-end))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
804
     	    (while (looking-at-p "^[ \t]*#\\+TBLFM:")
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
805
     	      (forward-line 1))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
806
     	    (buffer-substring tstart (point))))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
807
     (setq klist (nreverse klist)) ;; reverse for giving priority to new user settings
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
808
     (dolist (elem '("NAME" "CAPTION" "ATTR_LATEX"))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
809
       (when (assoc elem klist)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
810
         (princ (format "#+%s: %s\n" elem (cadr (assoc elem klist))))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
811
     (princ tbl))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
812
 #+END_SRC
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
813
 * filter-table                                                        :table:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
814
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
815
 :ID:       cec80330-99c3-4dab-9b13-bb0a520ace73
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
816
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
817
 #+NAME: filter-table
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
818
 #+HEADER: :var tbl="" col=0 vals=""
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
819
 #+BEGIN_SRC elisp :results value  :colnames y
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
820
   (let ((lst (split-string vals)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
821
     (concatenate 'list  (loop for row in tbl
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
822
                               if (member (let ((field (nth col row)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
823
                                            (if (numberp field)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
824
                                                (number-to-string field)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
825
                                              field)) lst)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
826
                               collect row into newtbl
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
827
                               ;; else do (princ (format "%s: %s\n" (nth col row) lst))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
828
                               finally return newtbl)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
829
 #+END_SRC
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
830
 * filter-table-re                                                  :table:rx:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
831
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
832
 :ID:       61e82902-3108-4cee-8e02-3e9d6770f5cb
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
833
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
834
 #+NAME: filter-table-re
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
835
 #+HEADER: :var tbl="" col=0 vals=".*"
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
836
 #+BEGIN_SRC elisp :results value  :colnames y
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
837
   (let ((lst (split-string vals)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
838
     (concatenate 'list  (loop for row in tbl
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
839
                               if (let* ((rawfield (nth col row))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
840
                                         (field (if (numberp rawfield)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
841
                                                    (number-to-string rawfield)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
842
                                                  rawfield)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
843
                                    (loop for regx in lst
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
844
                                          when(string-match-p regx field) return 't
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
845
                                          finally return nil))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
846
                               collect row into newtbl
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
847
                               ;; else do (princ (format "%s: %s\n" (nth col row) lst))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
848
                               finally return newtbl)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
849
 #+END_SRC
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
850
 * group-table                                                         :table:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
851
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
852
 :ID:       d1cb8d5d-14bc-4fbe-baf0-ff819d51ec4c
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
853
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
854
 #+NAME: group-table
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
855
 #+HEADER: :var tbl="" grp="Name" op="sum" rescols="B"
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
856
 #+BEGIN_SRC python :results output verbatim drawer :colnames no
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
857
   import pandas as pd
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
858
   import numpy as np
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
859
   import orgbabelhelper as obh
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
860
   import sys
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
861
   import re
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
862
 
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
863
   df = obh.orgtable_to_dataframe(tbl)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
864
   grparr = re.split(r",\s*", grp)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
865
   #print re.split(r",\s*", rescols) + [grp]
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
866
   df = df[re.split(r",\s*", rescols) + grparr]
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
867
   for elem in grparr:
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
868
       assert elem in df.columns, "Error: group column %s not in table columns %s" % (elem, ",".join(df.columns))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
869
 
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
870
   if op == "sum":
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
871
       res = df.groupby(grparr).sum()
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
872
   else:
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
873
       error("operation %s not implemented" % op)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
874
       sys.exit(1)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
875
 
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
876
   print(obh.dataframe_to_orgtable(res))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
877
 
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
878
 #+END_SRC
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
879
 * insert-file                                                            :fs:
8
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
880
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
881
 :ID:       57196c4d-a275-4023-8462-a5847676347c
Richard Westhaver <ellis@rwest.io>
parents: 7
diff changeset
882
 :END:
7
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
883
 #+NAME: lobInsertFile
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
884
 #+HEADER: :var filename="/tmp/foo"
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
885
 #+begin_src elisp :results value raw drawer
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
886
   (cl-labels ((wrap-src
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
887
   	      (lang)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
888
   	      (list (format "#+BEGIN_SRC %s :eval never :exports source\n" lang)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
889
                       "#+END_SRC\n")))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
890
     (let ((wrappers
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
891
   	 (pcase (file-name-extension filename)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
892
   	   ("py" (wrap-src "python"))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
893
   	   (".el" (wrap-src "emacs-lisp"))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
894
   	   (t '("#+BEGIN_EXAMPLE\n" "#+END_EXAMPLE\n")))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
895
       (with-temp-buffer
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
896
         (goto-char (point-min))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
897
         (insert (format-time-string "# inserted at %Y-%m-%d %H:%M:%S\n"))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
898
         (insert (car wrappers))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
899
         (insert-file-contents filename)
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
900
         (goto-char (point-max))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
901
         (insert (car (cdr wrappers)))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
902
         (buffer-string))))
4728f14839e4 publishing updates
Richard Westhaver <ellis@rwest.io>
parents: 6
diff changeset
903
 #+end_src