Document how to add new languages to plugin.

This commit is contained in:
2026-07-13 13:09:28 +02:00
parent 8f25a68016
commit 9aaccf3ac9
+31 -8
View File
@@ -98,7 +98,9 @@ For NeoVim with `init.lua`:
vim.g.licenser_author = "Your Name"
```
### Supported Licenses
### Licenses
#### Supported Licenses
vim-licenser includes templates for the following licenses:
@@ -118,7 +120,17 @@ vim-licenser includes templates for the following licenses:
Use tab completion to see all available licenses: `:Licenser <TAB>`
### Supported File Types
#### Adding New Licenses
To add a new license, create a new file in the `licenses` directory with the
name of the license (e.g., `MIT.txt`) and add the license text to the file. The
license text can contain the YEAR and AUTHOR placeholders, which will be
replaced with the current year and the author name when the license header is
added to the source file.
### File Types
#### Supported File Types
vim-licenser automatically detects your file type and applies the appropriate
comment style. Supported file types include:
@@ -128,13 +140,24 @@ shell, sql, swift, typescript, typescriptreact, vim, xml, yaml
For more information, see `:help licenser` after installation.
## Adding New Licenses
#### Adding Support for New File Types
To add a new license, create a new file in the `licenses` directory with the
name of the license (e.g., `MIT.txt`) and add the license text to the file. The
license text can contain the YEAR and AUTHOR placeholders, which will be
replaced with the current year and the author name when the license header is
added to the source file.
To add support for a new file type, add an entry to the `comment_styles`
dictionary in the `plugin/licenser.vim` file. The key should be the file type
as recognized by Vim/NeoVim, and the contents should be as follows:
- `margin`: If the prefix and suffix should be used on their own lines. E.g. in
C and C++ the comment style is `/* */`, so the margin should be set to `1`.
In Python, the comment style is `#`, so the margin should be set to `0`.
- `hashbang`: If the file type supports shebang a line (e.g., `#!/usr/bin/env
python3`), set this to `1`. Otherwise, set it to `0`. This is used to
determine if the license header should be added after the shebang line.
- `prefix`: Comment string to use on the first line. Unused if `margin` is set
to `0`.
- `middle`: Comment string to use on the middle lines. If `margin` is set to
`0`, this will be used on all lines.
- `suffix`: Comment string to use on the last line. Unused if `margin` is set to
`0`.
## License