gennaro-tedesco/boilit

github github
boilerplate plugin
star 23
stars
alert-circle 0
open issues
users 2
subscribers
git-branch 0
forks
CREATED

2021-04-12

UPDATED

4 days ago

packer

require('packer').startup(function()
  use 'gennaro-tedesco/boilit'
end)

paq

require "paq" { 
  'gennaro-tedesco/boilit'
}

Ain't nobody got time to create plugin directories: boilit yourself! boilit creates boilerplate directory structure and code files for neovim plugins; although there is no unique way to do so, we create a reasonable tree structure useful for most use cases, so that you can build on it.

Installation

Go get it!

go get -u -v github.com/gennaro-tedesco/boilit

Usage

All you have to do is thinking of an awesome name for your plugin: once you have it

boilit nvim-awesome-plugin

creates a plugin boilerplate structure as

.
├── autoload
│  └── health
│     └── nvim-awesome-plugin.vim
├── doc
│  ├── nvim-awesome-plugin.txt
│  └── tags
├── lua
│  └── nvim-awesome-plugin
│     ├── config.lua
│     ├── init.lua
│     └── main.lua
├── plugin
│  ├── nvim-awesome-plugin.vim
│  └── reload.vim
└── README.md

Watch it in action:

asciicast

The plugin skeleton is created by default in the user's current directory: you can specify a custom location via the -p flag

boilit nvim-awesome-plugin -p ~/custom/path

Check the help boilit -h for further details.

Batteries included:

  • headers and description of what goes in what file
  • relative imports of lua modules
  • a useful reload.vim function to reload your changes without having to exit and reload neovim
  • healthcheck template to appear in :checkhealth

If your plugin name contains special characters or escape sequences, they may generate exceptions in some of the template functions: make sure to escape the escapable in case.

Feedback

If you find this application useful consider awarding it a ⭐, it is a great way to give feedback! Otherwise, any additional suggestions or merge request is warmly welcome!