<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Kevin Asaria</title>
    <description>The latest articles on Forem by Kevin Asaria (@kevinasaria).</description>
    <link>https://forem.com/kevinasaria</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F209237%2F716bf7a6-df03-4f09-87ba-e5f4dd66d174.jpg</url>
      <title>Forem: Kevin Asaria</title>
      <link>https://forem.com/kevinasaria</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/kevinasaria"/>
    <language>en</language>
    <item>
      <title>Migrating To Neovim v0.12.0 Challenge Faced And Solution Found</title>
      <dc:creator>Kevin Asaria</dc:creator>
      <pubDate>Sat, 11 Apr 2026 11:21:10 +0000</pubDate>
      <link>https://forem.com/kevinasaria/migrating-to-neovim-v0120-challenge-faced-and-solution-found-6f</link>
      <guid>https://forem.com/kevinasaria/migrating-to-neovim-v0120-challenge-faced-and-solution-found-6f</guid>
      <description>&lt;p&gt;A week ago I saw that there was a new version of Neovim(v0.12.0) out &lt;br&gt;
and I decide to upgrade to it. These are the challenges that I faced &lt;br&gt;
and how I solved it. &lt;/p&gt;

&lt;p&gt;Context, as is required nowadays. I use LazyVim to transform the basic neovim to be a capable IDE. And indeed I do not do much configuration cause I have not learnt to and the out of the box experience has served me well. I just install LSPs through mason and so far I have not faced any issue.&lt;/p&gt;

&lt;p&gt;I thought that switching to neovim v0.12 would be as easy as &lt;a href="https://github.com/neovim/neovim/releases/tag/v0.12.1" rel="noopener noreferrer"&gt;downloading&lt;/a&gt; the binary , deleting the current one and replacing it with the new one. Easy peasy lemon squeezy.&lt;/p&gt;

&lt;p&gt;However, I came across a problem whereby the UI broke and I kept getting this error&lt;/p&gt;

&lt;p&gt;&lt;em&gt;E5108: Lua: vim/_core/editor.lua:0: nvim_exec2()[1]..BufReadPost Autocommands for "*": Vim(append):Lua callback: /usr/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:208: /usr/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:391: attempt to call method 'set_timeout' (a nil value)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After perusing through this error message, I guessed that it was an issue to do with treesitter as there was a change made about it in the new version. This &lt;a href="https://www.qu8n.com/posts/treesitter-migration-guide-for-nvim-0-12" rel="noopener noreferrer"&gt;article&lt;/a&gt; explains more about it. So I installed treesitter on my system using &lt;a href="https://github.com/tree-sitter/tree-sitter/blob/master/crates/cli/README.md" rel="noopener noreferrer"&gt;cargo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;However, the UI problem persisted and I was getting a bit frustrated and for a moment turned to explore the code I was interested in on vscode but it was a hard change since my built muscle memory made it feel unusable. &lt;/p&gt;

&lt;p&gt;So I went back and looked at the error, I tried reinstalling LazyVim again by replacing the old configs as mentioned in their &lt;a href="https://www.lazyvim.org/installation" rel="noopener noreferrer"&gt;installation guide&lt;/a&gt; but the problem persisted. Loosing patience, I came to the grave realisation that maybe it was time to familiarise myself with vscode. Anyway, it is what everyone uses nowadays.&lt;/p&gt;

&lt;p&gt;I decided to make one last shot in finding a solution before bidding my beloved editor good bye. Looking at the error message, I saw a curious path in the error message '/usr/share/nvim/runtime/...' . I decided to delete it. I thought it would get reinstalled back when I reinstalled LazyVim. It wasn't and even the LazyVim installation could not take place. I got the truncated error below when I opened nvim&lt;/p&gt;

&lt;p&gt;&lt;em&gt;E5113: Lua chunk: vim/_init_packages.lua:0: module 'vim.uri' not found: no field package.preload['vim.uri']&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;which led me to this &lt;a href="https://github.com/nvim-lua/kickstart.nvim/issues/454" rel="noopener noreferrer"&gt;github issue&lt;/a&gt; which explained I had to copy my specific neovim version's runtime to the path '/usr/local/share/nvim'. In my case I had to do:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/neovim/neovim.git
&lt;span class="nb"&gt;cd &lt;/span&gt;neovim
git checkout v0.12.0
&lt;span class="nb"&gt;sudo cp&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; runtime /usr/local/share/nvim
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And now things are working as expected and I can breathe a sigh of relief. As you have seen, it was just a matter of going with my gut feeling in order to fix this issue. I don't think changing versions is as hectic in vscode as in neovim. I know it is as skill issue but if someone like me who is used to getting beaten by software felt so frustrated, I imagine that a less patient user would have already moved on. &lt;/p&gt;

&lt;p&gt;Thank you for your time and hope this helped you.&lt;/p&gt;

</description>
      <category>neovim</category>
    </item>
    <item>
      <title>My Journey Into Elixir </title>
      <dc:creator>Kevin Asaria</dc:creator>
      <pubDate>Thu, 03 Jun 2021 08:23:06 +0000</pubDate>
      <link>https://forem.com/kevinasaria/my-journey-into-elixir-34n7</link>
      <guid>https://forem.com/kevinasaria/my-journey-into-elixir-34n7</guid>
      <description>&lt;p&gt;I have always been interested in learning programming languages rather than frameworks of a particular language. Last year(2020) I decided to learn a functional language having heard so much buzz around them.&lt;/p&gt;

&lt;p&gt;Now the question was which functional programming language would I embark to learn. At that time the only functional languages that I had heard of were Lisp and Haskell but then the youtube algorithms kicked in and gave the the video &lt;a href="https://www.youtube.com/watch?v=lxYFOM3UJzo"&gt;Elixir: The Documentary &lt;/a&gt; by honeypot. &lt;/p&gt;

&lt;p&gt;I liked the emphasis they put on hardware , that is, computers are getting more cores and other languages are not designed to utilise such infrastructure. In the video they also stated that it could be used in &lt;a href="https://www.nerves-project.org/"&gt;IoT&lt;/a&gt; and its use reduced the use of server resources. When I heard all this I was hooked.&lt;/p&gt;

&lt;p&gt;That's how the my journey began with Elixir. It has been a slow journey but currently I am learning the &lt;a href="https://www.phoenixframework.org/"&gt;Phoenix&lt;/a&gt; framework for building web applications for a project I am planning to undertake.&lt;/p&gt;

&lt;p&gt;This is just to encourage you to peek into the Elixir language and get a different perspective of what programming can be. Like pattern matching instead of assignments when using the = operator or spawning processes to do some work.&lt;/p&gt;

&lt;p&gt;The journey continues slowly but surely.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
