diff --git a/README.md b/README.md index 9af41e8..d32c02e 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,31 @@ -# neogen -A better Neovim documentation generator - +
+# Neogen - Your annotation toolkit ![](./.images/recording_1.mov) +
-## Warning +# Table Of Contents -This project is still in alpha ! +* [Features](#features) +* [Requirements](#requirements) +* [Installation](#installation) +* [Configuration](#configuration) +* [Supported Languages](#supported-languages) +* [Usage](#usage) +* [Contributing](#-contributing) -Work In progress: -- lua: `@return`, `@param` +## Features + +- Create annotations with one keybind +- Defaults for multiple languages and annotation conventions +- Extremely customizable and extensible + +## Requirements + +- Install [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) ## Installation -1. Packer +Use your favorite package manager to install Neogen, e.g: ```lua use { @@ -21,14 +34,41 @@ use { require('neogen').setup { enabled = true } - end + end, + requires = "nvim-treesitter/nvim-treesitter" } ``` +## Configuration + +```lua +use { + "danymat/neogen", + config = function() + require('neogen').setup { + enabled = true, -- required for Neogen to work + input_after_comment = true, -- automatic jump (with insert mode) on inserted annotation + } + end, + requires = "nvim-treesitter/nvim-treesitter" +} +``` + +## Supported Languages + +There is a list of supported languages and fields, with their annotation style + +| Language | Annotation conventions | Supported fields | +|---|---|---| +| lua | Emmylua | | +| | | `@param` | +| | | `@varargs` | +| | | `@return` | + ## Usage I exposed a command `:Neogen` to generate the annotations. -You can bind it to your keybind of choice: +You can bind it to your keybind of choice, like so: ```lua vim.api.nvim_set_keymap("n", "ng", ":Neogen", {}) @@ -36,3 +76,6 @@ vim.api.nvim_set_keymap("n", "ng", ":Neogen", {}) If you are inside a function, it'll generate the documentation for you with Emmylua annotation convention +## Contributing + +A