<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Fennel on Clément Joly – Open-Source, Rust &amp; SQLite</title><link>https://joly.pw/tags/fennel/</link><description>Recent content in Fennel on Clément Joly – Open-Source, Rust &amp; SQLite</description><image><title>Clément Joly – Open-Source, Rust &amp; SQLite</title><url>https://joly.pw/images/open-graph-home-original.png</url><link>https://joly.pw/images/open-graph-home-original.png</link></image><generator>Hugo -- 0.154.3</generator><language>en</language><copyright>Clément Joly</copyright><lastBuildDate>Wed, 11 Mar 2026 03:32:38 +0000</lastBuildDate><atom:link href="https://joly.pw/tags/fennel/index.xml" rel="self" type="application/rss+xml"/><item><title>Neovim Plugins</title><link>https://joly.pw/open-source/nvim-plugins/</link><pubDate>Thu, 29 Feb 2024 21:00:23 +0200</pubDate><guid>https://joly.pw/open-source/nvim-plugins/</guid><description>&lt;p&gt;List of my plugins for the neovim text editor.&lt;/p&gt;</description><content:encoded><![CDATA[<p>List of my plugins for the neovim text editor.</p>
<div class="projects">





<div class="projects-inner">

<article class="project-entry" onclick="location.href='https:\/\/cj.rs\/telescope-repo.nvim\/';" style="cursor:pointer;">
  <header class="entry-header">
    <h3>
        <a class="" 
            aria-label="post link to telescope-repo.nvim"
            data-goatcounter-click="ext-telescope-repo.nvim"
            data-goatcounter-referrer="nvim-plugins"
            href="https://cj.rs/telescope-repo.nvim/">Telescope Repo Nvim</a>
    </h3>
  </header>
  <section class="entry-content">
    <p>🦘 Jump into the repositories (git, mercurial…) of your filesystem with telescope.nvim, without any setup</p>
  </section>
  <footer class="entry-footer project-footer">
      <p>
        <span class="project-circle">
        <svg  width="11" height="12">
          <circle cx="4" cy="7.5" r="4" fill="#000080" />
        </svg>
        </span>
        Lua
        <span>&nbsp;★&nbsp;238</span>
      </p>
  </footer>
</article>


<article class="project-entry" onclick="location.href='https:\/\/cj.rs\/bepo-nvim\/';" style="cursor:pointer;">
  <header class="entry-header">
    <h3>
        <a class="" 
            aria-label="post link to bepo.nvim"
            data-goatcounter-click="ext-bepo.nvim"
            data-goatcounter-referrer="nvim-plugins"
            href="https://cj.rs/bepo-nvim/">Bepo Nvim</a>
    </h3>
  </header>
  <section class="entry-content">
    <p>⌨️ Mappings for the bepo keyboard layout in Lua, inspired by <a href="https://github.com/michamos/vim-bepo">https://github.com/michamos/vim-bepo</a></p>
  </section>
  <footer class="entry-footer project-footer">
      <p>
        <span class="project-circle">
        <svg  width="11" height="12">
          <circle cx="4" cy="7.5" r="4" fill="#fff3d7" />
        </svg>
        </span>
        Fennel
        <span>&nbsp;★&nbsp;17</span>
      </p>
  </footer>
</article>


<article class="project-entry" onclick="location.href='https:\/\/cj.rs\/minimal-format-nvim';" style="cursor:pointer;">
  <header class="entry-header">
    <h3>
        <a class="" 
            aria-label="post link to minimal-format.nvim"
            data-goatcounter-click="ext-minimal-format.nvim"
            data-goatcounter-referrer="nvim-plugins"
            href="https://cj.rs/minimal-format-nvim">Minimal Format Nvim</a>
    </h3>
  </header>
  <section class="entry-content">
    <p>Minimal, smart formatting using native neovim capabilities.</p>
  </section>
  <footer class="entry-footer project-footer">
      <p>
        <span class="project-circle">
        <svg  width="11" height="12">
          <circle cx="4" cy="7.5" r="4" fill="#000080" />
        </svg>
        </span>
        Lua
        
      </p>
  </footer>
</article>


</div>


</div>

<h2 id="work-in-progress">Work in progress</h2>
<div class="projects">





<div class="projects-inner">

<article class="project-entry" onclick="location.href='https:\/\/cj.rs\/onedark-fast-nvim\/';" style="cursor:pointer;">
  <header class="entry-header">
    <h3>
        <a class="" 
            aria-label="post link to onedark-fast.nvim"
            data-goatcounter-click="ext-onedark-fast.nvim"
            data-goatcounter-referrer="nvim-plugins"
            href="https://cj.rs/onedark-fast-nvim/">Onedark Fast Nvim</a>
    </h3>
  </header>
  <section class="entry-content">
    <p>Port of onedark to fennel, so that we generate fast Lua code.</p>
  </section>
  <footer class="entry-footer project-footer">
      <p>
        <span class="project-circle">
        <svg  width="11" height="12">
          <circle cx="4" cy="7.5" r="4" fill="#000080" />
        </svg>
        </span>
        Lua
        
      </p>
  </footer>
</article>


</div>


</div>]]></content:encoded></item><item><title>bepo.nvim</title><link>https://joly.pw/bepo-nvim/</link><pubDate>Mon, 21 Feb 2022 10:02:37 +0000</pubDate><guid>https://joly.pw/bepo-nvim/</guid><description>⌨️ Mappings for the bepo layout in Lua</description><content:encoded><![CDATA[
<p style="display: flex; justify-content: space-between">
  <a href="https://github.com/cljoly/bepo.nvim" data-goatcounter-click="ext-github-bepo.nvim" data-goatcounter-title="cljoly/bepo.nvim">
    <span class="svgicon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
    stroke-linecap="round" stroke-linejoin="round">
    <path
        d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22">
    </path>
</svg></span>&nbsp;cljoly/bepo.nvim
  </a>
  <a class="badges" href="https://github.com/cljoly/bepo-nvim" data-goatcounter-click="ext-stargithub-bepo.nvim" data-goatcounter-title="stars cljoly/bepo.nvim">
    <img src="https://img.shields.io/github/stars/cljoly/bepo.nvim?style=social" alt="Github stars for bepo.nvim">
  </a>
</p>


<div class="badges">


<p>

  <img alt="Neovim version" loading="lazy" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5NSIgaGVpZ2h0PSIyMCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJOZW92aW06IDAuNSI+PHRpdGxlPk5lb3ZpbTogMC41PC90aXRsZT48bGluZWFyR3JhZGllbnQgaWQ9InMiIHgyPSIwIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjYmJiIiBzdG9wLW9wYWNpdHk9Ii4xIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLW9wYWNpdHk9Ii4xIi8+PC9saW5lYXJHcmFkaWVudD48Y2xpcFBhdGggaWQ9InIiPjxyZWN0IHdpZHRoPSI5NSIgaGVpZ2h0PSIyMCIgcng9IjMiIGZpbGw9IiNmZmYiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNyKSI+PHJlY3Qgd2lkdGg9IjY4IiBoZWlnaHQ9IjIwIiBmaWxsPSIjNTU1Ii8+PHJlY3QgeD0iNjgiIHdpZHRoPSIyNyIgaGVpZ2h0PSIyMCIgZmlsbD0iIzU3YTE0MyIvPjxyZWN0IHdpZHRoPSI5NSIgaGVpZ2h0PSIyMCIgZmlsbD0idXJsKCNzKSIvPjwvZz48ZyBmaWxsPSIjZmZmIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LWZhbWlseT0iVmVyZGFuYSxHZW5ldmEsRGVqYVZ1IFNhbnMsc2Fucy1zZXJpZiIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgZm9udC1zaXplPSIxMTAiPjxpbWFnZSB4PSI1IiB5PSIzIiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGhyZWY9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5Qm1hV3hzUFNJak5UZEJNVFF6SWlCeWIyeGxQU0pwYldjaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNDhkR2wwYkdVK1RtVnZkbWx0UEM5MGFYUnNaVDQ4Y0dGMGFDQmtQU0pOTWk0eU1UUWdOQzQ1TlRSMk1UTXVOakUxVERjdU5qVTFJREkwVmpFd0xqTXhORXd6TGpNeE1pQXpMamcwTlNBeUxqSXhOQ0EwTGprMU5IcHROQzQ1T1RrZ01UY3VPVGhzTFRRdU5UVTNMVFF1TlRRNFZqVXVNVE0yYkM0MU9TMHVOVGsySURNdU9UWTNJRFV1T1RBNGRqRXlMalE0TlhwdE1UUXVOVGN6TFRRdU5EVTNiQzB1T0RZeUxqa3pOeTAwTGpJMExUWXVNemMyVmpCc05TNHdOamdnTlM0d09USXVNRE0wSURFekxqTTROWHBOTnk0ME16RXVNREF4YkRFeUxqazVPQ0F4T1M0NE16VXRNeTQyTXpjZ015NDJNemRNTXk0M09EY2dNeTQyT0RNZ055NDBNeUF3ZWlJdlBqd3ZjM1puUGc9PSIvPjx0ZXh0IGFyaWEtaGlkZGVuPSJ0cnVlIiB4PSI0MzUiIHk9IjE1MCIgZmlsbD0iIzAxMDEwMSIgZmlsbC1vcGFjaXR5PSIuMyIgdHJhbnNmb3JtPSJzY2FsZSguMSkiIHRleHRMZW5ndGg9IjQxMCI+TmVvdmltPC90ZXh0Pjx0ZXh0IHg9IjQzNSIgeT0iMTQwIiB0cmFuc2Zvcm09InNjYWxlKC4xKSIgZmlsbD0iI2ZmZiIgdGV4dExlbmd0aD0iNDEwIj5OZW92aW08L3RleHQ+PHRleHQgYXJpYS1oaWRkZW49InRydWUiIHg9IjgwNSIgeT0iMTUwIiBmaWxsPSIjMDEwMTAxIiBmaWxsLW9wYWNpdHk9Ii4zIiB0cmFuc2Zvcm09InNjYWxlKC4xKSIgdGV4dExlbmd0aD0iMTcwIj4wLjU8L3RleHQ+PHRleHQgeD0iODA1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiBmaWxsPSIjZmZmIiB0ZXh0TGVuZ3RoPSIxNzAiPjAuNTwvdGV4dD48L2c+PC9zdmc+"> <a href="https://cj.rs/riss">

  <img loading="lazy" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDQiIGhlaWdodD0iMjAiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0icG93ZXJlZCBieTogcmlzcyI+PHRpdGxlPnBvd2VyZWQgYnk6IHJpc3M8L3RpdGxlPjxsaW5lYXJHcmFkaWVudCBpZD0icyIgeDI9IjAiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNiYmIiIHN0b3Atb3BhY2l0eT0iLjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3Atb3BhY2l0eT0iLjEiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iciI+PHJlY3Qgd2lkdGg9IjEwNCIgaGVpZ2h0PSIyMCIgcng9IjMiIGZpbGw9IiNmZmYiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNyKSI+PHJlY3Qgd2lkdGg9Ijc1IiBoZWlnaHQ9IjIwIiBmaWxsPSIjNTU1Ii8+PHJlY3QgeD0iNzUiIHdpZHRoPSIyOSIgaGVpZ2h0PSIyMCIgZmlsbD0iIzlmOWY5ZiIvPjxyZWN0IHdpZHRoPSIxMDQiIGhlaWdodD0iMjAiIGZpbGw9InVybCgjcykiLz48L2c+PGcgZmlsbD0iI2ZmZiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1mYW1pbHk9IlZlcmRhbmEsR2VuZXZhLERlamFWdSBTYW5zLHNhbnMtc2VyaWYiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGZvbnQtc2l6ZT0iMTEwIj48dGV4dCBhcmlhLWhpZGRlbj0idHJ1ZSIgeD0iMzg1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSI2NTAiPnBvd2VyZWQgYnk8L3RleHQ+PHRleHQgeD0iMzg1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiBmaWxsPSIjZmZmIiB0ZXh0TGVuZ3RoPSI2NTAiPnBvd2VyZWQgYnk8L3RleHQ+PHRleHQgYXJpYS1oaWRkZW49InRydWUiIHg9Ijg4NSIgeT0iMTUwIiBmaWxsPSIjMDEwMTAxIiBmaWxsLW9wYWNpdHk9Ii4zIiB0cmFuc2Zvcm09InNjYWxlKC4xKSIgdGV4dExlbmd0aD0iMTkwIj5yaXNzPC90ZXh0Pjx0ZXh0IHg9Ijg4NSIgeT0iMTQwIiB0cmFuc2Zvcm09InNjYWxlKC4xKSIgZmlsbD0iI2ZmZiIgdGV4dExlbmd0aD0iMTkwIj5yaXNzPC90ZXh0PjwvZz48L3N2Zz4="></a> 
<img alt="GitHub tag (latest SemVer)" loading="lazy" src="https://img.shields.io/github/v/tag/cljoly/bepo.nvim?color=darkgreen&sort=semver"> 
<img alt="Endpoint Badge" loading="lazy" src="https://img.shields.io/endpoint?url=https%3A%2F%2Fd.cj.rs%2Fnvim%2Fbepo.json&cacheSeconds=90000"></p>

</div>


<p>Mappings for the <a href="https://bepo.fr/">bepo</a> layout in Lua, inspired by <a href="https://github.com/michamos/vim-bepo">vim-bepo</a></p>
<p>It aims to be faster (takes only 0.4ms at startup on my machine, while <a href="https://github.com/michamos/vim-bepo">vim-bepo</a> requires 1.6ms) and more customizable (see <code>:help bepo.nvim-cherry-pick</code>)</p>
<h2 id="installation">Installation</h2>
<p>Add the plugin <code>cljoly/bepo.nvim</code> to your package manager.</p>
<p>If you don’t have a package manager yet, I use <a href="https://github.com/savq/paq-nvim">paq.nvim</a>.
You can give it a try :).<br>
Look at the <a href="https://github.com/savq/paq-nvim?tab=readme-ov-file#installation">installation instructions</a> and then add the following to your config:</p>
<div class="highlight"><pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-lua" data-lang="lua"><span style="display:flex;"><span><span style="color:#e06c75">require</span> <span style="color:#98c379">&#34;paq&#34;</span> {
</span></span><span style="display:flex;"><span>  <span style="color:#98c379">&#34;cljoly/bepo.nvim&#34;</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#7f848e">-- ... other packages</span>
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>Then restart neovim and run <code>PaqInstall</code>. That will install the bepo.nvim plugin.</p>
<h2 id="usage">Usage</h2>
<p>Once the plugin is installed, you can add a call to set up the bepo mappings to your config:</p>
<div class="highlight"><pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-lua" data-lang="lua"><span style="display:flex;"><span><span style="color:#e06c75">require</span>(<span style="color:#98c379">&#34;bepo&#34;</span>).<span style="color:#e06c75">setup</span>()
</span></span></code></pre></div><p>You should call the extension early in your <code>init.lua</code>, so that you can erase mappings later (or with other extensions) more easily.</p>
<h2 id="advanced-usage">Advanced Usage</h2>
<p>You can also apply only some mapping groups:</p>
<div class="highlight"><pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-lua" data-lang="lua"><span style="display:flex;"><span><span style="color:#e06c75">require</span>(<span style="color:#98c379">&#34;bepo&#34;</span>).<span style="color:#e06c75">movement</span>()
</span></span><span style="display:flex;"><span><span style="color:#e06c75">require</span>(<span style="color:#98c379">&#34;bepo&#34;</span>).<span style="color:#e06c75">tabs</span>()
</span></span><span style="display:flex;"><span><span style="color:#e06c75">require</span>(<span style="color:#98c379">&#34;bepo&#34;</span>).<span style="color:#e06c75">easy_access</span>()
</span></span><span style="display:flex;"><span><span style="color:#e06c75">require</span>(<span style="color:#98c379">&#34;bepo&#34;</span>).<span style="color:#e06c75">window</span>()
</span></span></code></pre></div><p>See <a href="https://github.com/cljoly/bepo.nvim/blob/main/doc/bepo-nvim.txt">the help file</a> for more details and the mappings installed.</p>
<h2 id="reporting-bugs">Reporting bugs</h2>
<p>Thanks for considering reporting a bug!</p>
<p>We want to know if the issue is caused by:</p>
<ol>
<li>the plugin itself</li>
<li>your user configuration</li>
<li>the system configuration</li>
</ol>
<p>Please try to reproduce the bug in nvim stripped of your user configuration by running:</p>
<pre tabindex="0"><code>nvim --clean -u test/mock_setup.lua
</code></pre><p>If you can’t reproduce the bug in that “clean” nvim instance, it suggests that the bug comes from an interaction of the plugin with your user configuration. Please feel free to open an issue, mentioning that.</p>
]]></content:encoded></item></channel></rss>