No description
- Shell 51.9%
- Lua 40.2%
- Makefile 7.9%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| doc | ||
| lua/myplugin | ||
| plugin | ||
| scripts | ||
| tests | ||
| .gitignore | ||
| .luarc.json | ||
| bootstrap.sh | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| stylua.toml | ||
template.nvim
Template for new Neovim plugins. Batteries included: Makefile, headless test
harness (lazy.minit + mini.test), stylua pre-commit hook, mini.doc vimdoc
generation, and CI via the shared thenoetrevino/github reusable workflow.
Creating a new plugin
gh repo create thenoetrevino/foo.nvim --template thenoetrevino/template.nvim --private --clone
cd foo.nvim
./bootstrap.sh foo
bootstrap.sh renames the myplugin placeholder everywhere (module dirs,
specs, CI stub, docs), installs the pre-commit hook, runs the test suite to
prove the skeleton is green, and deletes itself.
What you get
| Piece | Where | Notes |
|---|---|---|
| Makefile | Makefile |
make alone lists every target |
| Test harness | tests/minit.lua, scripts/test |
busted-style specs, one headless nvim |
| Pre-commit hook | scripts/install-hooks.sh |
stylua on staged files, git add -p safe |
| Docs generation | scripts/minidoc.lua |
doc/ is generated -- never edit by hand |
| CI | .forgejo/workflows/ci.yml |
stylua check, tests, docs, release-please |
Everything below this line is the template for the new plugin's README
myplugin.nvim
One-line description.
Installation
-- lazy.nvim
{
'thenoetrevino/myplugin.nvim',
opts = {},
}
Configuration
require('myplugin').setup({
greeting = 'hello from myplugin',
enabled = true,
})
Development
make lists every target. make test and make fmt before a PR;
make install-hooks once after cloning.