
# Neogen - Your Annotation Toolkit
[](https://neovim.io)
[](http://www.lua.org)
# Table Of Contents
- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
- [Usage](#usage)
- [Configuration](#configuration)
- [Supported Languages](#supported-languages)
- [Adding Languages](#adding-languages)
- [GIFS](#gifs)
- [Credits](#credits)
- [Support](#support)
## Features
- Create annotations with one keybind, and jump your cursor in the inserted annotation
- Defaults for multiple languages and annotation conventions
- Extremely customizable and extensible
- Written in lua (and uses Tree-sitter)

## Requirements
Have Tree-sitter parsers installed on your system. For more information, check out the [:treesitter-parsers](https://neovim.io/doc/user/treesitter.html#treesitter-parsers) neovim help page.
## Installation
Use your favorite package manager to install Neogen, e.g:
### Lazy
```lua
{
"danymat/neogen",
config = true,
-- Uncomment next line if you want to follow only stable versions
-- version = "*"
}
```
### Packer
```lua
use {
"danymat/neogen",
config = function()
require('neogen').setup {}
end,
-- Uncomment next line if you want to follow only stable versions
-- tag = "*"
}
```
## Usage
- If you want to keep it simple, you can use the `:Neogen` command:
```vim
" will generate annotation for the function, class or other relevant type you're currently in
:Neogen
" or you can force a certain type of annotation with `:Neogen