<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>code &amp;mdash; Build stuff; Break stuff; Have fun!</title>
    <link>https://barfooz.xyz/tag:code</link>
    <description>barfooz.xyz</description>
    <pubDate>Mon, 08 Jun 2026 12:21:11 +0000</pubDate>
    <image>
      <url>https://i.snap.as/btoNrLSF.png</url>
      <title>code &amp;mdash; Build stuff; Break stuff; Have fun!</title>
      <link>https://barfooz.xyz/tag:code</link>
    </image>
    <item>
      <title>Open Claude Code inside a split pane in Wezterm </title>
      <link>https://barfooz.xyz/i-wrote-about-how-i-use-claude-code-in-wezterm-in-this-post?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[I wrote about how I use Claude Code in Wezterm in this Post.&#xA;&#xA;!--more--&#xA;&#xA;Since then, I&#39;ve improved it a bit. I introduced the YOLO mode --dangerously-skip-permissions as default when I open CC, and I need to split the window pane on my desktop monitor to 1/3 and on my laptop monitor to 1/2.&#xA;&#xA;The split introduced a new function, which is called on keypress.&#xA;local function splitforclaude()&#xA;&#x9;local screen = wezterm.gui and wezterm.gui.screens().active.name or &#34;&#34;&#xA;&#x9;local percent = 50&#xA;&#xA;&#x9;if screen == EXTERNALMONITOR then&#xA;&#x9;&#x9;percent = 33&#xA;&#x9;end&#xA;&#xA;&#x9;return act.SplitPane({&#xA;&#x9;&#x9;direction = &#34;Right&#34;,&#xA;&#x9;&#x9;command = { args = { &#34;bash&#34;, &#34;-lc&#34;, &#34;claude --dangerously-skip-permissions&#34; } },&#xA;&#x9;&#x9;size = { Percent = percent },&#xA;&#x9;})&#xA;end&#xA;&#xA;EXTERNALMONITOR is the name of the external monitor. The name you will get from opening the Debug Overlay and calling wezterm.gui.screens().&#xA;&#xA;And the key settings are:&#xA;config.keys = {&#xA;  -- ...&#xA;&#x9;{&#xA;&#x9;&#x9;key = &#34;Enter&#34;,&#xA;&#x9;&#x9;mods = &#34;LEADER&#34;,&#xA;&#x9;&#x9;action = wezterm.actioncallback(function(window, pane)&#xA;&#x9;&#x9;&#x9;window:performaction(splitforclaude(), pane)&#xA;&#x9;&#x9;end),&#xA;&#x9;},&#xA;  -- ...&#xA;}&#xA;&#xA;Now I hit leader+enter and CC opens in a 1/3 or 1/2 split depending on the display. :)&#xA;---  &#xA;57 of #100DaysToOffload  &#xA;#log #wezterm #code #dev  &#xA;Thoughts? a href=&#34;https://remark.as/p/barfooz.xyz/i-wrote-about-how-i-use-claude-code-in-wezterm-in-this-post&#34;Discuss.../a]]&gt;</description>
      <content:encoded><![CDATA[<p>I wrote about how I use Claude Code in Wezterm in this <a href="https://barfooz.xyz/wezterm-config-to-open-claude-code-in-a-sidebar">Post</a>.</p>



<p>Since then, I&#39;ve improved it a bit. I introduced the YOLO mode <code>--dangerously-skip-permissions</code> as default when I open CC, and I need to split the window pane on my desktop monitor to 1/3 and on my laptop monitor to ½.</p>

<p>The split introduced a new function, which is called on keypress.</p>

<pre><code class="language-lua">local function split_for_claude()
	local screen = wezterm.gui and wezterm.gui.screens().active.name or &#34;&#34;
	local percent = 50

	if screen == EXTERNAL_MONITOR then
		percent = 33
	end

	return act.SplitPane({
		direction = &#34;Right&#34;,
		command = { args = { &#34;bash&#34;, &#34;-lc&#34;, &#34;claude --dangerously-skip-permissions&#34; } },
		size = { Percent = percent },
	})
end

</code></pre>

<p><code>EXTERNAL_MONITOR</code> is the name of the external monitor. The name you will get from opening the <a href="https://wezterm.org/config/lua/wezterm.gui/screens.html">Debug Overlay</a> and calling <code>wezterm.gui.screens()</code>.</p>

<p>And the key settings are:</p>

<pre><code class="language-lua">config.keys = {
  -- ...
	{
		key = &#34;Enter&#34;,
		mods = &#34;LEADER&#34;,
		action = wezterm.action_callback(function(window, pane)
			window:perform_action(split_for_claude(), pane)
		end),
	},
  -- ...
}
</code></pre>

<p>Now I hit <code>leader+enter</code> and CC opens in a 1/3 or ½ split depending on the display. :)</p>

<hr/>

<p><strong>57</strong> of <a href="https://barfooz.xyz/tag:100DaysToOffload" class="hashtag"><span>#</span><span class="p-category">100DaysToOffload</span></a><br/>
<a href="https://barfooz.xyz/tag:log" class="hashtag"><span>#</span><span class="p-category">log</span></a> <a href="https://barfooz.xyz/tag:wezterm" class="hashtag"><span>#</span><span class="p-category">wezterm</span></a> <a href="https://barfooz.xyz/tag:code" class="hashtag"><span>#</span><span class="p-category">code</span></a> <a href="https://barfooz.xyz/tag:dev" class="hashtag"><span>#</span><span class="p-category">dev</span></a><br/>
<em>Thoughts? <a href="https://remark.as/p/barfooz.xyz/i-wrote-about-how-i-use-claude-code-in-wezterm-in-this-post">Discuss...</a></em></p>
]]></content:encoded>
      <guid>https://barfooz.xyz/i-wrote-about-how-i-use-claude-code-in-wezterm-in-this-post</guid>
      <pubDate>Sun, 30 Nov 2025 12:41:15 +0000</pubDate>
    </item>
    <item>
      <title>Replaced GitHub Copilot with Supermaven</title>
      <link>https://barfooz.xyz/replaced-github-copilot-with-supermaven?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[Some days ago, my GitHub Copilot subscription ended, and I decided to switch to another paid auto-completion service.&#xA;&#xA;Overall, I was ok with what GH Copilot delivered. But I heard a lot about the new kids in town and wanted to explore them. I was split between Codium and Supermaven and decided for Supermaven after their announcement that they will join Cursor.&#xA;&#xA;!--more--&#xA;&#xA;GitHub Copilot&#xA;&#xA;For 2 years now, I have been using Copilot. 99% of the time just for code completion. Very rarely, I&#39;ve written a comment to tell it what it needs to do. In the past months, I was not satisfied anymore with the results it gave me. I was editing the results more than it saved me writing them.&#xA;&#xA;The start with Copilot was also a bit bumpy. I needed to get a flow. Sadly, the original Vim/Neovim extension by TPope was slow and cumbersome to use. Luckily, there was a Copilot Plugin written in Lua which was fast enough to get a good flow. For auto-completion, I usually use CMP, but I don&#39;t want to mix Copilot with CMP and took another approach. This was by getting the suggestions and accepting theme with meta+tab and cycling through suggestions with meta+[ and meta+]. That was enough for me, to have a nice auto-completion for more than 1,5 years. 😎&#xA;&#xA;With the rise of the new kids on the block, the suggestions got worse with every day. So, a replacement was needed. :) I waited until my subscription ended and then tried the new one.&#xA;&#xA;Supermaven&#xA;&#xA;I can&#39;t say much besides, all works flawlessly. From account creation to plugin installation, everything worked on first-try.&#xA;&#xA;They maintain a GitHub repo, from where you get your instructions on how to set up Supermaven in Neovim.&#xA;&#xA;Here is my config:&#xA;&#xA;return {&#xA;&#x9;&#34;supermaven-inc/supermaven-nvim&#34;,&#xA;&#x9;config = function()&#xA;&#x9;&#x9;require(&#34;supermaven-nvim&#34;).setup({&#xA;&#x9;&#x9;&#x9;keymaps = {&#xA;&#x9;&#x9;&#x9;&#x9;acceptsuggestion = &#34;m-tab&#34;,&#xA;&#x9;&#x9;&#x9;&#x9;clearsuggestion = &#34;m-k&#34;,&#xA;&#x9;&#x9;&#x9;&#x9;acceptword = &#34;m-j&#34;,&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;ignorefiletypes = { cpp = true }, -- or { &#34;cpp&#34;, }&#xA;&#x9;&#x9;&#x9;disableinlinecompletion = false, -- disables inline completion for use with cmp&#xA;&#x9;&#x9;})&#xA;&#x9;end,&#xA;}&#xA;&#xA;There is no cycling between suggestions, but it&#39;s no problem, so far, there was no need for them. 😅&#xA;&#xA;It&#39;s insane how instant the suggestions came and, until now, on point. A feature which is now a must-have for me is, that you can accept words of the suggestion, if you don&#39;t want it all.&#xA;&#xA;On my supermaven.com account is a Chat credit. This is something I haven&#39;t figured out how to use. Maybe it is only available in these bloated IDEs. 🤷&#xA;&#xA;I&#39;m more than happy with it and enjoy everyday coding with it, so far.&#xA;&#xA;---&#xA;&#xA;59 of #100DaysToOffload&#xA;&#xA;#log #code #neovim #supermaven&#xA;&#xA;Thoughts? a href=&#34;https://remark.as/p/barfooz.xyz/replaced-github-copilot-with-supermaven&#34;Discuss.../a]]&gt;</description>
      <content:encoded><![CDATA[<p>Some days ago, my GitHub Copilot subscription ended, and I decided to switch to another paid auto-completion service.</p>

<p>Overall, I was ok with what GH Copilot delivered. But I heard a lot about the new kids in town and wanted to explore them. I was split between <a href="https://codeium.com/">Codium</a> and <a href="https://supermaven.com/">Supermaven</a> and decided for Supermaven after their announcement that they will join Cursor.</p>



<h2 id="github-copilot" id="github-copilot">GitHub Copilot</h2>

<p>For 2 years now, I have been using Copilot. 99% of the time just for code completion. Very rarely, I&#39;ve written a comment to tell it what it needs to do. In the past months, I was not satisfied anymore with the results it gave me. I was editing the results more than it saved me writing them.</p>

<p>The start with Copilot was also a bit bumpy. I needed to get a flow. Sadly, the <a href="https://github.com/github/copilot.vim">original</a> Vim/Neovim extension by TPope was slow and cumbersome to use. Luckily, there was a <a href="https://github.com/zbirenbaum/copilot.lua">Copilot Plugin written in Lua</a> which was fast enough to get a good flow. For auto-completion, I usually use <a href="https://github.com/hrsh7th/nvim-cmp">CMP</a>, but I don&#39;t want to mix Copilot with CMP and took another approach. This was by getting the suggestions and accepting theme with <code>meta+tab</code> and cycling through suggestions with <code>meta+[</code> and <code>meta+]</code>. That was enough for me, to have a nice auto-completion for more than 1,5 years. 😎</p>

<p>With the rise of the new kids on the block, the suggestions got worse with every day. So, a replacement was needed. :) I waited until my subscription ended and then tried the new one.</p>

<h2 id="supermaven" id="supermaven">Supermaven</h2>

<p>I can&#39;t say much besides, all works flawlessly. From account creation to plugin installation, everything worked on first-try.</p>

<p>They maintain a <a href="https://github.com/supermaven-inc/supermaven-nvim">GitHub repo</a>, from where you get your instructions on how to set up Supermaven in Neovim.</p>

<p>Here is my config:</p>

<pre><code class="language-lua">return {
	&#34;supermaven-inc/supermaven-nvim&#34;,
	config = function()
		require(&#34;supermaven-nvim&#34;).setup({
			keymaps = {
				accept_suggestion = &#34;&lt;m-tab&gt;&#34;,
				clear_suggestion = &#34;&lt;m-k&gt;&#34;,
				accept_word = &#34;&lt;m-j&gt;&#34;,
			},
			ignore_filetypes = { cpp = true }, -- or { &#34;cpp&#34;, }
			disable_inline_completion = false, -- disables inline completion for use with cmp
		})
	end,
}
</code></pre>

<p>There is no cycling between suggestions, but it&#39;s no problem, so far, there was no need for them. 😅</p>

<p>It&#39;s insane how instant the suggestions came and, until now, on point. A feature which is now a must-have for me is, that you can accept words of the suggestion, if you don&#39;t want it all.</p>

<p>On my supermaven.com account is a Chat credit. This is something I haven&#39;t figured out how to use. Maybe it is only available in these bloated IDEs. 🤷</p>

<p>I&#39;m more than happy with it and enjoy everyday coding with it, so far.</p>

<hr/>

<p><strong>59</strong> of <a href="https://barfooz.xyz/tag:100DaysToOffload" class="hashtag"><span>#</span><span class="p-category">100DaysToOffload</span></a></p>

<p><a href="https://barfooz.xyz/tag:log" class="hashtag"><span>#</span><span class="p-category">log</span></a> <a href="https://barfooz.xyz/tag:code" class="hashtag"><span>#</span><span class="p-category">code</span></a> <a href="https://barfooz.xyz/tag:neovim" class="hashtag"><span>#</span><span class="p-category">neovim</span></a> <a href="https://barfooz.xyz/tag:supermaven" class="hashtag"><span>#</span><span class="p-category">supermaven</span></a></p>

<p><em>Thoughts? <a href="https://remark.as/p/barfooz.xyz/replaced-github-copilot-with-supermaven">Discuss...</a></em></p>
]]></content:encoded>
      <guid>https://barfooz.xyz/replaced-github-copilot-with-supermaven</guid>
      <pubDate>Mon, 16 Dec 2024 21:58:51 +0000</pubDate>
    </item>
  </channel>
</rss>