Having recently ditched VSCode for NeoVim, I was very excited customizing my editor experience with different themes, treesitter, lsp, utility plugins and the works. The possibilities for customization were endless, and the code for each of them was open source and available on github. When I started building spotify.nvim, my goal was simple: Learn about plugin development in NeoVim using Lua, and control Spotify directly from Neovim. What began as a small experiment turned into an insightful journey into Lua scripting, Neovim's API, and integrating external bash scripts for Spotify control.
In this blog, I’ll walk you through the process: from the initial idea to overcoming challenges, debugging, and refining the plugin.