<rss version="2.0">
  <channel>
    <title>Release on Leon Mika</title>
    <link>https://lmika.org/categories/release/</link>
    <description></description>
    
    <language>en</language>
    
    <lastBuildDate>Tue, 05 May 2026 20:58:38 +1000</lastBuildDate>
    
    <item>
      <title>Release: Dequoter 0.1.9</title>
      <link>https://lmika.org/2026/05/05/release-dequoter.html</link>
      <pubDate>Tue, 05 May 2026 20:58:38 +1000</pubDate>
      
      <guid>http://lmika.micro.blog/2026/05/05/release-dequoter.html</guid>
      <description>&lt;p&gt;I figured it was time to start releasing some of the small apps I make to assist me. I&amp;rsquo;ll start with Dequoter, one of the smaller ones. Until today, it was not in a fit enough state to release: the code wasn&amp;rsquo;t signed, there was no app icon, and certain niceties like dark mode were not working. Those have been addressed, and while I&amp;rsquo;m not claiming this app to be a marvel of software engineering, I&amp;rsquo;m releasing it anyway on the off chance that someone else would find it useful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download:&lt;/strong&gt; &lt;a href=&#34;https://lmika-public-files.s3.ap-southeast-2.amazonaws.com/Apps/Dequoter/0.1.9/Dequoter-0.1.9.app.zip&#34;&gt;Dequoter 0.1.9&lt;/a&gt; for MacOS&lt;/p&gt;
&lt;h2 id=&#34;about&#34;&gt;About&lt;/h2&gt;
&lt;p&gt;So what is Dequoter? It&amp;rsquo;s a single buffer text processor, where you can write or paste in text, perform some operation on it — like down-case — and then use that text elsewhere. It&amp;rsquo;s somewhat similar to Boop if you&amp;rsquo;re familiar with that. I built it mainly to convert quoted JSON strings into formatted JSON text that I could read (that&amp;rsquo;s where the name came from), and over time I added a few other processors that I found useful. It&amp;rsquo;s not as full featured as Boop, and realistically I probably could&amp;rsquo;ve just implemented what I needed as a Boop extension. But I had a few weekends free, and I figured it would be a small thing I could start and just improve over time. Plus it has a few niceties that Boop doesn&amp;rsquo;t offer, like multi-cursor support.&lt;/p&gt;
&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/25293/2026/out-20260505-205025.png&#34; width=&#34;600&#34; height=&#34;478&#34; alt=&#34;Auto-generated description: A software interface displays a dropdown menu with options for converting and formatting text, alongside a text area containing placeholder text and a JSON snippet.&#34;&gt;
&lt;p&gt;Launching the app will bring you into a text buffer. Write or paste in text from anywhere. To perform an operation, press &lt;kbd&gt;Cmd&lt;/kbd&gt;+&lt;kbd&gt;P&lt;/kbd&gt;. This will bring up a picker of processors you can invoke. Start typing to filter and press &lt;kbd&gt;Enter&lt;/kbd&gt; to invoke the one that appears on the top. The processor will apply to the contents of the buffer, or if any text is selected, it will only apply to the selected text.&lt;/p&gt;
&lt;p&gt;The processor name gives a hint as to how the processor handles the text, or &amp;ldquo;input&amp;rdquo;. For example, processors beginning with &lt;code&gt;Lines&lt;/code&gt; will operate on a per-line basis, where-as &lt;code&gt;String&lt;/code&gt; will operate on the input as a whole. Some, like &lt;code&gt;Lines: Count&lt;/code&gt; will actually calculate a value, which will appear in the status bar. Others, like &lt;code&gt;Generate: Lorem Ipsum&lt;/code&gt; won&amp;rsquo;t take any input at all, and will instead produce text at the caret. Processors that have a trailing &lt;code&gt;…&lt;/code&gt; will require an additional argument, that you&amp;rsquo;ll be prompted to provide when selecting.&lt;/p&gt;
&lt;p&gt;Undo is supported, so you can back out of any transformations by pressing &lt;kbd&gt;Cmd&lt;/kbd&gt;+&lt;kbd&gt;Z&lt;/kbd&gt;. To repeat the last invoked processor, press &lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;Cmd&lt;/kbd&gt;+&lt;kbd&gt;P&lt;/kbd&gt;.&lt;/p&gt;
&lt;p&gt;The rest is just the regular text editing features you know and love. The app uses Coding Mirror so if you know the key bindings for that, you&amp;rsquo;ll be right at home. Multi-caret support is enabled, and to spawn a new caret, press either &lt;kbd&gt;Opt&lt;/kbd&gt;+&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Up&lt;/kbd&gt; or &lt;kbd&gt;Opt&lt;/kbd&gt;+&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Down&lt;/kbd&gt;.&lt;/p&gt;
&lt;h2 id=&#34;tech-stack&#34;&gt;Tech Stack&lt;/h2&gt;
&lt;p&gt;If it isn&amp;rsquo;t obvious, this is not a Mac-arsed Mac app. This was built using &lt;a href=&#34;https://wails.io&#34;&gt;Wails&lt;/a&gt;, which could be described as Electron for Go. However, the apps built with Wails used the built-in HTML renderer, rather than bundle Chromium, so they end up being a fair bit smaller. The text editor used is &lt;a href=&#34;https://codemirror.net/&#34;&gt;Code Mirror&lt;/a&gt;. Much of the core is hand rolled, although I&amp;rsquo;ve started using coding agents for the more recent changes, especially the processors. The logo was made using Affinity Designer.&lt;/p&gt;
&lt;p&gt;Anyway, if you&amp;rsquo;re looking for a simple text processor, give this a try. I hope you find it useful.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>