What is it?
Neovim version 0.4 and above is now shipped with the Lua runtime built into the editor. This has provided a great alternative to Vimscript.
I saw a really cool plugin:https://github.com/glacambre/firenvim which is written Lua and I thought of trying it out myself. I don’t know Lua and I am not a very good plugin developer. I thought of learning a little bit of Lua and make a Neovim plugin over this last weekend.
I had started working on creating a Jira plugin using Python but then I dropped that plan and used this opportunity to learn Lua and build the plugin.
This is what I came up with: https://github.com/vipul-sharma20/nvim-jira. Right now you can fetch all the Jira tickets which are assigned to you or the ones you are watching. You can check all the comments posted and you can post your own comments too. This is what it does for now.
I have noticed a few bugs and minor issues which I would fix like the keybindings which I’ve created are pretty bad in terms of the design choices. Aesthetically too, it needs some improvements. Some features I would like to add are:
- Ticket transitions
- Ticket Reassignment
- Tagging people in comments
- Ticket searching
This is still a work in progress. I would’ve preferred writing this post once I was done with the plugin but am not going to dedicatedly work only on this project, it will keep getting improved over time.
First thoughts on Lua
First I went through the lean x in y minutes page for Lua to get a gist of the language constructs, syntax and stuff. Looked pretty simple and clean. Learning resources seems quite limited and I also struggled to send just a simple HTTP request at first. After reading through some docs, it was easy to work with it. I felt Lua is a reasonable choice to be added in the stdlib of Neovim considering its low footprint, size, speed and its embeddable nature. It’s perfect for scripting where these constraints are important.