Wolf<p><a href="https://hachyderm.io/tags/Vim" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Vim</span></a> <a href="https://hachyderm.io/tags/NeoVim" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NeoVim</span></a> has <a href="https://hachyderm.io/tags/Surround" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Surround</span></a> plugin. <a href="https://hachyderm.io/tags/HelixEditor" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HelixEditor</span></a> has it built in. The Helix version doesn’t do "surround with function". I started a discussion on the Helix Discussion board, but privately forked and cloned and started experimenting. Just when I finally got a response in the discussion, I finally had close to a working prototype. </p><p><a href="https://github.com/helix-editor/helix/discussions/13179" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/helix-editor/helix/</span><span class="invisible">discussions/13179</span></a></p><p>The response showed the keystrokes to do it in Helix as it is now, and they were reasonable. Using Nik Revenco’s way was a better match for Helix’ "vision" as expressed in their Vision.md doc. </p><p>I learned a lot from prototyping a command (in <a href="https://hachyderm.io/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://hachyderm.io/tags/Rust" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Rust</span></a>) within Helix (in particular, how to make a prompt in the editor and get a string from the user was a big thing for me), but I ended up throwing it away. I was wrong. </p><p>I’m really starting to like Helix, but like Rust, I have so much to learn. Still experimenting, still learning for both.</p>