Skip to content

Commit

Permalink
feat: update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
maskudo committed Feb 19, 2025
1 parent 8612170 commit 220b977
Showing 1 changed file with 46 additions and 36 deletions.
82 changes: 46 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,48 @@
# nvim-plugin-template

Neovim plugin template; includes automatic documentation generation from README, integration tests with Busted, and linting with Stylua

## Usage

1. Click `use this template` button generate a repo on your github.
2. Clone your plugin repo. Open terminal then cd plugin directory.
3. Run `python3 rename.py your-plugin-name`. This will replace all `nvim-plugin-template` to your `plugin-name`.
Then it will prompt you input `y` or `n` to remove example codes in `init.lua` and
`test/plugin_spec.lua`. If you are familiar this repo just input `y`. If you are looking at this template for the first time I suggest you inspect the contents. After this step `rename.py` will also auto-remove.

Now you have a clean plugin environment. Enjoy!

## Format

The CI uses `stylua` to format the code; customize the formatting by editing `.stylua.toml`.

## Test

Uses [busted](https://lunarmodules.github.io/busted/) for testing. Installs by using `luarocks --lua-version=5.1 install vusted` then runs `vusted ./test`
for your test cases. `vusted` is a wrapper of Busted especially for testing Neovim plugins.

Create test cases in the `test` folder. Busted expects files in this directory to be named `foo_spec.lua`, with `_spec` as a suffix before the `.lua` file extension. For more usage details please check
[busted usage](https://lunarmodules.github.io/busted/)

## CI

- Auto generates doc from README.
- Runs the Busted/vusted integration tests
- Lints with `stylua`.


## More

To see this template in action, take a look at my other plugins.
# Devdocs.nvim

A [devdocs](https://devdocs.io) client

## Installation

- `jq`, `curl` and `pandoc` are required dependencies

```lua
{
"maskudo/devdocs.nvim",
lazy = false,
keys = {
{
"<leader>ho",
mode = "n",
"<cmd>DevDocs get<cr>",
desc = "Get Devdocs",
},
{
"<leader>hi",
mode = "n",
"<cmd>DevDocs install<cr>",
desc = "Install Devdocs",
},
},
opts = {
ensure_installed = {
"go",
"html",
-- "dom",
"http",
-- "css",
-- "javascript",
"lua~5.1",
-- "rust",
},
},
},
```

## Commands

- `DevDocs fetch`: Fetch devdocs metadata
- `DevDocs get <doc>`: Get all docs or get `<doc>`
- `DevDocs install <doc>`: Show all installable doc or install `<doc>`

## License MIT

0 comments on commit 220b977

Please sign in to comment.