A plugin for Vim and NeoVim that helps you add license headers to your source code files.
-
Clone the repository:
git clone https://github.com/naortega/vim-licenser.git
-
Copy the plugin files to your Vim/NeoVim configuration directory:
cp -r vim-licenser/plugin/* ~/.vim/plugin/ cp -r vim-licenser/doc/* ~/.vim/doc/ cp -r vim-licenser/licenses/* ~/.vim/licenses/
For NeoVim, use ~/.config/nvim/ instead of ~/.vim/.
Add the following to your init.vim or .vimrc:
Plug 'naortega/vim-licenser'Then run :PlugInstall in Vim/NeoVim.
Add the following to your init.lua:
use 'naortega/vim-licenser'Then run :PackerSync in NeoVim.
Add the following to your init.lua:
{
'naortega/vim-licenser',
lazy = true,
cmd = 'Licenser',
}Add the following to your init.vim:
call dein#add('naortega/vim-licenser')Then run :call dein#install() in Vim/NeoVim.
Add the following to your .vimrc:
Plugin 'naortega/vim-licenser'Then run :PluginInstall in Vim.
You can add a license header to your source file by running the following command in Vim or NeoVim:
:Licenser <license>
Set your author name in your init.vim or .vimrc:
let g:licenser_author = "Your Name"For NeoVim with init.lua:
vim.g.licenser_author = "Your Name"vim-licenser includes templates for the following licenses:
- AGPL (GNU Affero General Public License v3)
- Apache2 (Apache License 2.0)
- BSD2 (BSD 2-Clause License)
- BSD3 (BSD 3-Clause License)
- GPL (GNU General Public License v3)
- GPLv2 (GNU General Public License v2)
- ISC (ISC License)
- LGPL (GNU Lesser General Public License v3)
- MIT (MIT License)
- MIT0 (MIT No Attribution License)
- MPL2 (Mozilla Public License v2.0)
- Unlicense (public domain)
- Zlib (Zlib License)
Use tab completion to see all available licenses: :Licenser <TAB>
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.
vim-licenser automatically detects your file type and applies the appropriate comment style. Supported file types include: bash, c, cmake, cpp, csharp, css, dart, go, groovy, haskell, html, java, javascript, json, kotlin, lua, matlab, perl, php, python, r, ruby, rust, scala, shell, sql, swift, text, typescript, typescriptreact, vim, xml, yaml
For more information, see :help licenser after installation.
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 to1. In Python, the comment style is#, so the margin should be set to0.hashbang: If the file type supports shebang a line (e.g.,#!/usr/bin/env python3), set this to1. Otherwise, set it to0. 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 ifmarginis set to0.middle: Comment string to use on the middle lines. Ifmarginis set to0, this will be used on all lines.suffix: Comment string to use on the last line. Unused ifmarginis set to0.
This project is licensed under the Zlib License. See the LICENSE file for details.