This commit is contained in:
SqrtMinusOne 2023-01-14 20:41:34 +00:00
parent 02f804caf5
commit 45918bf23c
4 changed files with 26 additions and 3 deletions

View file

@ -1093,9 +1093,14 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">&#39;</span>(<span style="color:#00f">insert</span> <span style="color:#19177c">normal</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;C-y&#34;</span> <span style="color:#19177c">&#39;counsel-yank-pop</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/swiper-isearch</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">current-prefix-arg</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">swiper-all</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">swiper-isearch</span>)))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">my-leader-def</span> <span style="color:#ba2121">&#34;SPC SPC&#34;</span> <span style="color:#19177c">&#39;ivy-resume</span>)
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">my-leader-def</span> <span style="color:#ba2121">&#34;s&#34;</span> <span style="color:#19177c">&#39;swiper-isearch</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;S&#34;</span> <span style="color:#19177c">&#39;swiper-all</span>)
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">my-leader-def</span> <span style="color:#ba2121">&#34;s&#34;</span> <span style="color:#19177c">&#39;my/swiper-isearch</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">general-define-key</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">ivy-minibuffer-map</span> <span style="color:#19177c">swiper-map</span>)
@ -3894,6 +3899,21 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
</span></span><span style="display:flex;"><span> (<span style="color:#008000">cl-function</span> (<span style="color:#008000">lambda</span> (<span style="color:#008000">&amp;rest</span> <span style="color:#19177c">args</span> <span style="color:#008000">&amp;key</span> <span style="color:#19177c">error-thrown</span> <span style="color:#008000">&amp;allow-other-keys</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">message</span> <span style="color:#ba2121">&#34;Got error: %S&#34;</span> <span style="color:#19177c">error-thrown</span>)))))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">my/weather-value</span>)
</span></span></code></pre></div><p>Let&rsquo;s also try to log the current mood:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/get-mood</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">crm-separator</span> <span style="color:#ba2121">&#34; &#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">crm-local-completion-map</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">map</span> (<span style="color:#00f">make-sparse-keymap</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">set-keymap-parent</span> <span style="color:#19177c">map</span> <span style="color:#19177c">crm-local-completion-map</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">define-key</span> <span style="color:#19177c">map</span> <span style="color:#ba2121">&#34; &#34;</span> <span style="color:#19177c">&#39;self-insert-command</span>)
</span></span><span style="display:flex;"><span> <span style="color:#19177c">map</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">ivy-prescient-sort-commands</span> <span style="color:#800">nil</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">mapconcat</span>
</span></span><span style="display:flex;"><span> <span style="color:#00f">#&#39;identity</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">completing-read-multiple</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;How do you feel: &#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">my/mood-list</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34; &#34;</span>)))
</span></span></code></pre></div><p>And here&rsquo;s a function that creates a drawer with such information. At the moment, it&rsquo;s:</p>
<ul>
<li>Emacs version</li>
@ -3901,6 +3921,7 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
<li>Location</li>
<li>Weather</li>
<li>Current EMMS track</li>
<li>Current mood</li>
</ul>
<!--listend-->
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/set-journal-header</span> ()
@ -3928,7 +3949,9 @@ Emacs is also particularly good at writing Lisp code, e.g. Clojure, Common Lisp,
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> <span style="color:#19177c">title</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#00f">string</span> (<span style="color:#00f">concat</span> <span style="color:#00f">string</span> <span style="color:#19177c">title</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> (<span style="color:#00f">&gt;</span> (<span style="color:#00f">length</span> <span style="color:#00f">string</span>) <span style="color:#666">0</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-set-property</span> <span style="color:#ba2121">&#34;EMMS_Track&#34;</span> <span style="color:#00f">string</span>)))))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-set-property</span> <span style="color:#ba2121">&#34;EMMS_Track&#34;</span> <span style="color:#00f">string</span>))))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">when-let</span> (<span style="color:#19177c">mood</span> (<span style="color:#19177c">my/get-mood</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-set-property</span> <span style="color:#ba2121">&#34;Mood&#34;</span> <span style="color:#19177c">mood</span>)))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">add-hook</span> <span style="color:#19177c">&#39;org-journal-after-entry-create-hook</span>
</span></span><span style="display:flex;"><span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/set-journal-header</span>)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB