This commit is contained in:
SqrtMinusOne 2023-08-02 19:19:05 +00:00
parent 6241d00074
commit bfc9f32390
4 changed files with 43 additions and 37 deletions

View file

@ -1326,25 +1326,31 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</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/dark-p</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">not</span> (<span style="color:#19177c">my/light-p</span>)))
</span></span></code></pre></div><p>Now, let&rsquo;s get the current color from <code>doom</code>. <code>doom-themes</code> provide <code>doom-color</code>, but it&rsquo;s not enough to populate <code>Xresources</code> and the format doesn&rsquo;t quite match.</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">defconst</span> <span style="color:#19177c">my/theme-string-override</span>
</span></span></code></pre></div><p>Now, let&rsquo;s get the current color from <code>doom</code>. <code>doom-themes</code> provide <code>doom-color</code>, but I also want to:</p>
<ul>
<li>override some colors</li>
<li>add <code>black</code>, <code>white</code> and <code>light-*</code></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">defconst</span> <span style="color:#19177c">my/theme-override</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>((<span style="color:#19177c">doom-palenight</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;red&#34;</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;#f07178&#34;</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">red</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;#f07178&#34;</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/doom-color</span> (<span style="color:#19177c">color</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#00f">stringp</span> <span style="color:#19177c">color</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">override</span> (<span style="color:#19177c">alist-get</span> (<span style="color:#19177c">my/doom-p</span>) <span style="color:#19177c">my/theme-string-override</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">or</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">alist-get</span> <span style="color:#19177c">color</span> <span style="color:#19177c">override</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#00f">#&#39;equal</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">pcase</span> <span style="color:#19177c">color</span>
</span></span><span style="display:flex;"><span> ((<span style="color:#008000">or</span> <span style="color:#ba2121">&#34;red&#34;</span> <span style="color:#ba2121">&#34;green&#34;</span> <span style="color:#ba2121">&#34;yellow&#34;</span> <span style="color:#ba2121">&#34;blue&#34;</span> <span style="color:#ba2121">&#34;magenta&#34;</span> <span style="color:#ba2121">&#34;cyan&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">doom-color</span> (<span style="color:#00f">intern</span> <span style="color:#19177c">color</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;black&#34;</span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;base0</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;white&#34;</span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;base8</span>))
</span></span><span style="display:flex;"><span> ((<span style="color:#008000">rx</span> <span style="color:#19177c">bos</span> <span style="color:#ba2121">&#34;light-&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">ct-edit-lab-l-inc</span> (<span style="color:#19177c">my/doom-color</span> (<span style="color:#00f">substring</span> <span style="color:#19177c">color</span> <span style="color:#666">6</span>)) <span style="color:#666">10</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">color</span>)))
</span></span></code></pre></div><p>And the same for <code>modus-themes</code>. <code>my/modus-color</code> has to accept the same arguments as <code>my/doom-color</code> for backward compatibility.</p>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">override</span> (<span style="color:#19177c">alist-get</span> (<span style="color:#19177c">my/doom-p</span>) <span style="color:#19177c">my/theme-override</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">color-name</span> (<span style="color:#00f">symbol-name</span> <span style="color:#19177c">color</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">is-light</span> (<span style="color:#19177c">ct-light-p</span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;bg</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">or</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">alist-get</span> <span style="color:#19177c">color</span> <span style="color:#19177c">override</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">cond</span>
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">eq</span> <span style="color:#19177c">&#39;black</span> <span style="color:#19177c">color</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;fg</span>) (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;bg</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">eq</span> <span style="color:#19177c">&#39;white</span> <span style="color:#19177c">color</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;bg</span>) (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;fg</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#19177c">string-match-p</span> (<span style="color:#008000">rx</span> <span style="color:#19177c">bos</span> <span style="color:#ba2121">&#34;light-&#34;</span>) <span style="color:#19177c">color-name</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">ct-edit-lab-l-inc</span> (<span style="color:#19177c">my/doom-color</span> (<span style="color:#00f">intern</span> (<span style="color:#00f">substring</span> <span style="color:#19177c">color-name</span> <span style="color:#666">6</span>))) <span style="color:#666">10</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#800">t</span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">color</span>))))))
</span></span></code></pre></div><p>And the same for <code>modus-themes</code>. <code>my/modus-color</code> has to accept the same arguments as I use for <code>my/doom-color</code> for backward compatibility, which requires a bit more tuning.</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/modus-get-base</span> (<span style="color:#19177c">color</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">base-value</span> (<span style="color:#00f">string-to-number</span> (<span style="color:#00f">substring</span> (<span style="color:#00f">symbol-name</span> <span style="color:#19177c">color</span>) <span style="color:#666">4</span> <span style="color:#666">5</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">base-start</span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> <span style="color:#19177c">&#39;bg-main</span> (<span style="color:#19177c">modus-themes--current-theme-palette</span>))))
@ -1352,45 +1358,43 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> (<span style="color:#00f">nth</span> <span style="color:#19177c">base-value</span> (<span style="color:#19177c">ct-gradient</span> <span style="color:#666">9</span> <span style="color:#19177c">base-start</span> <span style="color:#19177c">base-end</span> <span style="color:#800">t</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/modus-color</span> (<span style="color:#19177c">color</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">palette</span> (<span style="color:#19177c">modus-themes--current-theme-palette</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">palette</span> (<span style="color:#19177c">modus-themes--current-theme-palette</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">is-light</span> (<span style="color:#19177c">ct-light-p</span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> <span style="color:#19177c">&#39;bg-main</span> <span style="color:#19177c">palette</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">cond</span>
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">member</span> <span style="color:#19177c">color</span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;black&#34;</span> <span style="color:#ba2121">&#34;white&#34;</span> <span style="color:#ba2121">&#34;light-black&#34;</span> <span style="color:#ba2121">&#34;light-white&#34;</span>))
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">member</span> <span style="color:#19177c">color</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">black</span> <span style="color:#19177c">white</span> <span style="color:#19177c">light-black</span> <span style="color:#19177c">light-white</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">bg-main</span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> <span style="color:#19177c">&#39;bg-main</span> <span style="color:#19177c">palette</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">fg-main</span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> <span style="color:#19177c">&#39;fg-main</span> <span style="color:#19177c">palette</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">pcase</span> <span style="color:#19177c">color</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;black&#34;</span> (<span style="color:#008000">if</span> (<span style="color:#19177c">ct-light-p</span> <span style="color:#19177c">bg-main</span>) <span style="color:#19177c">fg-main</span> <span style="color:#19177c">bg-main</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;white&#34;</span> (<span style="color:#008000">if</span> (<span style="color:#19177c">ct-light-p</span> <span style="color:#19177c">bg-main</span>) <span style="color:#19177c">bg-main</span> <span style="color:#19177c">fg-main</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;light-black&#34;</span> (<span style="color:#19177c">ct-edit-lab-l-inc</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#19177c">ct-light-p</span> <span style="color:#19177c">bg-main</span>) <span style="color:#19177c">fg-main</span> <span style="color:#19177c">bg-main</span>)
</span></span><span style="display:flex;"><span> <span style="color:#666">15</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;light-white&#34;</span> (<span style="color:#19177c">ct-edit-lab-l-inc</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#19177c">ct-light-p</span> <span style="color:#19177c">bg-main</span>) <span style="color:#19177c">bg-main</span> <span style="color:#19177c">fg-main</span>)
</span></span><span style="display:flex;"><span> <span style="color:#666">15</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;black</span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> <span style="color:#19177c">fg-main</span> <span style="color:#19177c">bg-main</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;white</span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> <span style="color:#19177c">bg-main</span> <span style="color:#19177c">fg-main</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;light-black</span> (<span style="color:#19177c">ct-edit-lab-l-inc</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> <span style="color:#19177c">fg-main</span> <span style="color:#19177c">bg-main</span>)
</span></span><span style="display:flex;"><span> <span style="color:#666">15</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;light-white</span> (<span style="color:#19177c">ct-edit-lab-l-inc</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> <span style="color:#19177c">bg-main</span> <span style="color:#19177c">fg-main</span>)
</span></span><span style="display:flex;"><span> <span style="color:#666">15</span>)))))
</span></span><span style="display:flex;"><span> ((<span style="color:#008000">or</span> (<span style="color:#00f">eq</span> <span style="color:#19177c">color</span> <span style="color:#19177c">&#39;bg</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> <span style="color:#19177c">&#39;bg-main</span> <span style="color:#19177c">palette</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#008000">or</span> (<span style="color:#00f">eq</span> <span style="color:#19177c">color</span> <span style="color:#19177c">&#39;fg</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> <span style="color:#19177c">&#39;fg-main</span> <span style="color:#19177c">palette</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">eq</span> <span style="color:#19177c">color</span> <span style="color:#19177c">&#39;violet</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> <span style="color:#19177c">&#39;magenta-cooler</span> <span style="color:#19177c">palette</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#008000">and</span> (<span style="color:#00f">symbolp</span> <span style="color:#19177c">color</span>) (<span style="color:#19177c">string-match-p</span> (<span style="color:#008000">rx</span> <span style="color:#19177c">bos</span> <span style="color:#ba2121">&#34;base&#34;</span> <span style="color:#19177c">digit</span>) (<span style="color:#00f">symbol-name</span> <span style="color:#19177c">color</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#19177c">string-match-p</span> (<span style="color:#008000">rx</span> <span style="color:#19177c">bos</span> <span style="color:#ba2121">&#34;base&#34;</span> <span style="color:#19177c">digit</span>) (<span style="color:#00f">symbol-name</span> <span style="color:#19177c">color</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/modus-get-base</span> <span style="color:#19177c">color</span>))
</span></span><span style="display:flex;"><span> ((<span style="color:#008000">and</span> (<span style="color:#00f">symbolp</span> <span style="color:#19177c">color</span>) (<span style="color:#19177c">string-match-p</span> (<span style="color:#008000">rx</span> <span style="color:#19177c">bos</span> <span style="color:#ba2121">&#34;dark-&#34;</span>) (<span style="color:#00f">symbol-name</span> <span style="color:#19177c">color</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#19177c">string-match-p</span> (<span style="color:#008000">rx</span> <span style="color:#19177c">bos</span> <span style="color:#ba2121">&#34;dark-&#34;</span>) (<span style="color:#00f">symbol-name</span> <span style="color:#19177c">color</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> (<span style="color:#00f">intern</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;%s-cooler&#34;</span> (<span style="color:#00f">substring</span> (<span style="color:#00f">symbol-name</span> <span style="color:#19177c">color</span>) <span style="color:#666">5</span>)))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">palette</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">eq</span> <span style="color:#19177c">color</span> <span style="color:#19177c">&#39;grey</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/modus-get-base</span> <span style="color:#19177c">&#39;base5</span>))
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">member</span> <span style="color:#19177c">color</span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;red&#34;</span> <span style="color:#ba2121">&#34;green&#34;</span> <span style="color:#ba2121">&#34;yellow&#34;</span> <span style="color:#ba2121">&#34;blue&#34;</span> <span style="color:#ba2121">&#34;magenta&#34;</span> <span style="color:#ba2121">&#34;cyan&#34;</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> (<span style="color:#00f">intern</span> <span style="color:#19177c">color</span>) <span style="color:#19177c">palette</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#008000">and</span> (<span style="color:#00f">stringp</span> <span style="color:#19177c">color</span>) (<span style="color:#19177c">string-match-p</span> (<span style="color:#008000">rx</span> <span style="color:#19177c">bos</span> <span style="color:#ba2121">&#34;light-&#34;</span>) <span style="color:#19177c">color</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> (<span style="color:#00f">intern</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;%s-intense&#34;</span> (<span style="color:#00f">substring</span> <span style="color:#19177c">color</span> <span style="color:#666">6</span>))) <span style="color:#19177c">palette</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#19177c">string-match-p</span> (<span style="color:#008000">rx</span> <span style="color:#19177c">bos</span> <span style="color:#ba2121">&#34;light-&#34;</span>) (<span style="color:#00f">symbol-name</span> <span style="color:#19177c">color</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> (<span style="color:#00f">intern</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;%s-intense&#34;</span> (<span style="color:#00f">substring</span> (<span style="color:#00f">symbol-name</span> <span style="color:#19177c">color</span>) <span style="color:#666">6</span>))) <span style="color:#19177c">palette</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#800">t</span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> <span style="color:#19177c">color</span> <span style="color:#19177c">palette</span>))))))
</span></span></code></pre></div><p>Test the two functions.</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">defconst</span> <span style="color:#19177c">my/test-colors-list</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;black&#34;</span> <span style="color:#ba2121">&#34;red&#34;</span> <span style="color:#ba2121">&#34;green&#34;</span> <span style="color:#ba2121">&#34;yellow&#34;</span> <span style="color:#ba2121">&#34;blue&#34;</span> <span style="color:#ba2121">&#34;magenta&#34;</span> <span style="color:#ba2121">&#34;cyan&#34;</span> <span style="color:#ba2121">&#34;white&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;light-black&#34;</span> <span style="color:#ba2121">&#34;light-red&#34;</span> <span style="color:#ba2121">&#34;light-green&#34;</span> <span style="color:#ba2121">&#34;light-yellow&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;light-blue&#34;</span> <span style="color:#ba2121">&#34;light-magenta&#34;</span> <span style="color:#ba2121">&#34;light-cyan&#34;</span> <span style="color:#ba2121">&#34;light-white&#34;</span> <span style="color:#19177c">bg</span> <span style="color:#19177c">fg</span> <span style="color:#19177c">red</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">green</span> <span style="color:#19177c">yellow</span> <span style="color:#19177c">blue</span> <span style="color:#19177c">magenta</span> <span style="color:#19177c">cyan</span> <span style="color:#19177c">dark-blue</span> <span style="color:#19177c">dark-cyan</span> <span style="color:#19177c">violet</span> <span style="color:#19177c">grey</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">base0</span> <span style="color:#19177c">base1</span> <span style="color:#19177c">base2</span> <span style="color:#19177c">base3</span> <span style="color:#19177c">base4</span> <span style="color:#19177c">base5</span> <span style="color:#19177c">base6</span> <span style="color:#19177c">base7</span> <span style="color:#19177c">base8</span>))
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">black</span> <span style="color:#19177c">red</span> <span style="color:#19177c">green</span> <span style="color:#19177c">yellow</span> <span style="color:#19177c">blue</span> <span style="color:#19177c">magenta</span> <span style="color:#19177c">cyan</span> <span style="color:#19177c">white</span> <span style="color:#19177c">light-black</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">light-red</span> <span style="color:#19177c">light-green</span> <span style="color:#19177c">light-yellow</span> <span style="color:#19177c">light-blue</span> <span style="color:#19177c">light-magenta</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">light-cyan</span> <span style="color:#19177c">light-white</span> <span style="color:#19177c">bg</span> <span style="color:#19177c">fg</span> <span style="color:#19177c">violet</span> <span style="color:#19177c">grey</span> <span style="color:#19177c">base0</span> <span style="color:#19177c">base1</span> <span style="color:#19177c">base2</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">base3</span> <span style="color:#19177c">base4</span> <span style="color:#19177c">base5</span> <span style="color:#19177c">base6</span> <span style="color:#19177c">base7</span> <span style="color:#19177c">base8</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/test-colors</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
@ -1409,6 +1413,7 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span></code></pre></div><p>Finally, one function to get the value of a color in the current theme.</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/color-value</span> (<span style="color:#19177c">color</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">cond</span>
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">stringp</span> <span style="color:#19177c">color</span>) (<span style="color:#19177c">my/color-value</span> (<span style="color:#00f">intern</span> <span style="color:#19177c">color</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">eq</span> <span style="color:#19177c">color</span> <span style="color:#19177c">&#39;bg-other</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">color</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;bg</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#19177c">ct-light-p</span> <span style="color:#19177c">color</span>)
@ -7684,6 +7689,7 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">telega-webpage-chat-link</span> <span style="color:#008000">:foreground</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;base0</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:background</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;fg</span>)))
</span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">telega-emoji-use-images</span> <span style="color:#800">nil</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">telega-root-mode-map</span> <span style="color:#19177c">telega-chat-mode-map</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">normal</span>)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB