diff --git a/README.md b/README.md index 1a5743a..4fbc728 100644 --- a/README.md +++ b/README.md @@ -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 ` -### 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