[docgen] Update doc/neogen.txt

skip-checks: true
This commit is contained in:
github-actions
2022-02-11 10:47:09 +00:00
parent 75d306e19d
commit e59d16d787

View File

@@ -9,7 +9,6 @@ Table of contents:
Contributing................................................|neogen-develop| Contributing................................................|neogen-develop|
Changes in neogen plugin..................................|neogen-changelog| Changes in neogen plugin..................................|neogen-changelog|
Configurations for the template table........|neogen-template-configuration| Configurations for the template table........|neogen-template-configuration|
API to customize templates.............................|neogen-template-api|
How to create/customize an annotation....................|neogen-annotation| How to create/customize an annotation....................|neogen-annotation|
@@ -102,13 +101,14 @@ Neogen provides those defaults, and you can change them to suit your needs
< <
# Notes~ # Notes~
- to configure a language, just add your configurations in the `languages` table - to configure a language, just add your configurations in the `languages` table.
For example, for the `lua` lang: For example, for the `lua` lang:
> >
languages = { languages = {
lua = { -- Configuration here } lua = { -- Configuration here }
} }
< <
Default configurations for a languages can be found in `lua/neogen/configurations/<you_language>.lua`
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
@@ -125,15 +125,6 @@ Parameters~
- {opts.type} `(string?, default: "func")` Which type we are trying to use for generating annotations. - {opts.type} `(string?, default: "func")` Which type we are trying to use for generating annotations.
Currently supported: `func`, `class`, `type`, `file` Currently supported: `func`, `class`, `type`, `file`
------------------------------------------------------------------------------
*neogen.get_template()*
`neogen.get_template`({filetype})
Get a template for a particular filetype
Parameters~
{filetype} `(optional)` `(string)`
Return~
neogen.TemplateConfig `(optional)`
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*neogen-develop* *neogen-develop*
Contribute to Neogen Contribute to Neogen
@@ -152,12 +143,17 @@ Feel free to submit a PR, I will be happy to help you !
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*neogen-changelog* *neogen-changelog*
`neogen.version` `neogen.version`
We use semantic versioning ! (https://semver.org)
Here is the current Neogen version: Here is the current Neogen version:
> >
neogen.version = "1.0.0" neogen.version = "2.0.0"
< <
# Changelog~ # Changelog~
## 2.0.0~
- We made the template API private, only for initial template configuration.
If you want to make a change to a template, please see:
|neogen-template-configuration| and |neogen-annotation|
## 1.0.0~ ## 1.0.0~
- Neogen is officially out ! We support 16 languages as of right now, - Neogen is officially out ! We support 16 languages as of right now,
with multiple annotation conventions. with multiple annotation conventions.
@@ -173,9 +169,6 @@ corresponding to annotation conventions,
as well as providing custom configurations in order to be precise about as well as providing custom configurations in order to be precise about
how to customize the annotations. how to customize the annotations.
We exposed some API to help you customize a template, and add your own custom annotations
For this, please go to |neogen.template_api|
Type~ Type~
neogen.TemplateConfig neogen.TemplateConfig
@@ -238,54 +231,6 @@ Or:
pass pass
< <
------------------------------------------------------------------------------
*neogen-template-api*
# Templates API~
Welcome to the neogen API section for templates.
A template is an entity relative to a filetype that holds configurations for how to place
annotations.
With it, you can add an annotation convention to a filetype, change defaults,
and even provide your own annotation convention !
I exposed some API's, available after you get a template.
Please see |neogen.get_template()| for how to get a template.
Example:
>
neogen.get_template("python"):config({ annotation_convention = ... })
<
------------------------------------------------------------------------------
*neogen-template-api.config()*
Updates a template configuration
`<template_obj>:config`({tbl})
Parameters~
{tbl} neogen.TemplateConfig Override the template with provided config
------------------------------------------------------------------------------
*neogen-template-api.add_annotation()*
Add an annotation convention to the template
`<template_obj>:add_annotation`({name})
Parameters~
{name} `(string)` The name of the annotation convention
------------------------------------------------------------------------------
*neogen-template-api.add_default_annotation()*
Add an annotation convention to the template and make it the default
`<template_obj>:add_default_annotation`({name})
Parameters~
{name} `(string)` The name of the annotation convention
------------------------------------------------------------------------------
*neogen-template-api.add_custom_annotation()*
`neogen_template.add_custom_annotation`({self}, {name}, {annotation}, {default})
Add a custom annotation convention to the template
Parameters~
{name} `(string)` The name of the annotation convention
{annotation} `(table)` The annotation template (see |neogen-annotation|)
{default} `(optional)` `(boolean)` Marks the annotation as default one
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*neogen-annotation* *neogen-annotation*
@@ -333,7 +278,7 @@ First of all, you need to know an annotation template behaves, with an example:
`-@param hello ` (will a parameter named `hello`) `-@param hello ` (will a parameter named `hello`)
- The third item is a `table` (optional), and are the local options for the line. - The third item is a `table` (optional), and are the local options for the line.
See below (`neogen.AnnotationLine.Opts`) for more information See below (`neogen.AnnotationLine.Opts`) for more information on what is required
Now that you know every field, let's see how we could generate a basic annotation for a python function: Now that you know every field, let's see how we could generate a basic annotation for a python function:
> >
@@ -357,9 +302,19 @@ Will be very simply created with an convention like so:
} }
< <
We recommend you look into the the content of `neogen/templates` for a list of the default annotation conventions. We recommend you look into the the content of `neogen/templates` for a list of the default annotation conventions.
Last step, if you want to use your own annotation convention for a language, you can use the API :
`neogen.get_template("python"):add_custom_annotation("my_annotation", annotation, true)` Last step, if you want to use your own annotation convention for a language:
(see |neogen-template-api| for more details) >
require('neogen').setup {
languages = {
python = {
template = {
annotation_convention = "my_annotation",
my_annotation = annotation
}
}
}
<
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
# neogen.AnnotationLine~ # neogen.AnnotationLine~