]> git.rmz.io Git - dotfiles.git/commitdiff
vim: add comments before licenses
authorSamir Benmendil <samir.benmendil@gmail.com>
Sat, 18 Apr 2015 06:42:48 +0000 (07:42 +0100)
committerSamir Benmendil <samir.benmendil@gmail.com>
Sat, 18 Apr 2015 06:42:48 +0000 (07:42 +0100)
vim/ultisnips/all.snippets

index 7bb39c68fb666401b1fce676eb72a1c8adc745f7..0a637f6caefffa910243753b0e8f474788c7bf7b 100644 (file)
@@ -1,6 +1,49 @@
 global !p
 import subprocess, vim
 
+def _parse_comments(s):
+       """ Parses vim's comments option to extract comment format """
+       i = iter(s.split(","))
+
+       rv = []
+       try:
+               while True:
+                       # get the flags and text of a comment part
+                       flags, text = next(i).split(':', 1)
+
+                       if len(flags) == 0:
+                               rv.append((text, text, text, ""))
+                       # parse 3-part comment, but ignore those with O flag
+                       elif 's' in flags and 'O' not in flags:
+                               ctriple = []
+                               indent = ""
+
+                               if flags[-1] in string.digits:
+                                       indent = " " * int(flags[-1])
+                               ctriple.append(text)
+
+                               flags,text = next(i).split(':', 1)
+                               assert(flags[0] == 'm')
+                               ctriple.append(text)
+
+                               flags,text = next(i).split(':', 1)
+                               assert(flags[0] == 'e')
+                               ctriple.append(text)
+                               ctriple.append(indent)
+
+                               rv.append(ctriple)
+                       elif 'b' in flags:
+                               if len(text) == 1:
+                                       rv.insert(0, (text,text,text, ""))
+       except StopIteration:
+               return rv
+
+def _get_comment_format():
+       """ Returns a 4-element tuple representing the comment format for
+       the current file. """
+       return _parse_comments(vim.eval("&comments"))[0]
+
+b, m, e, i = _get_comment_format()
 def _git_user_name():
        try:
                snip.rv = subprocess.check_output(["git", "config", "user.name"]).strip()
@@ -14,296 +57,338 @@ def _git_user_email():
                snip.rv = "jdoe@example.com"
 endglobal
 
-snippet GPL2 "GPL2 License" b
-       ${1:One line to give the program's name and a brief description.}
-       Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
-
-       This program is free software; you can redistribute it and/or modify
-       it under the terms of the GNU General Public License as published by
-       the Free Software Foundation; either version 2 of the License, or
-       (at your option) any later version.
-
-       This program is distributed in the hope that it will be useful,
-       but WITHOUT ANY WARRANTY; without even the implied warranty of
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-       GNU General Public License for more details.
 
-       You should have received a copy of the GNU General Public License
-       along with this program; if not, see <http://www.gnu.org/licenses/>.
-       ${0}
+snippet GPL2 "GPL2 License" b
+`!p snip.rv = b`
+`!p snip.rv = i + m` ${1:One line to give the program's name and a brief description.}
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` This program is free software; you can redistribute it and/or modify
+`!p snip.rv = i + m` it under the terms of the GNU General Public License as published by
+`!p snip.rv = i + m` the Free Software Foundation; either version 2 of the License, or
+`!p snip.rv = i + m` (at your option) any later version.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` This program is distributed in the hope that it will be useful,
+`!p snip.rv = i + m` but WITHOUT ANY WARRANTY; without even the implied warranty of
+`!p snip.rv = i + m` MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+`!p snip.rv = i + m` GNU General Public License for more details.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` You should have received a copy of the GNU General Public License
+`!p snip.rv = i + m` along with this program; if not, see <http://www.gnu.org/licenses/>.
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet LGPL2 "LGPL2 License" b
-       ${1:One line to give the program's name and a brief description.}
-       Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
-
-       This library is free software; you can redistribute it and/or modify
-       it under the terms of the GNU Lesser General Public License as published
-       by the Free Software Foundation; either version 2.1 of the License, or
-       (at your option) any later version.
-
-       This library is distributed in the hope that it will be useful,
-       but WITHOUT ANY WARRANTY; without even the implied warranty of
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-       GNU Lesser General Public License for more details.
-
-       You should have received a copy of the GNU Lesser General Public License
-       along with this library; if not, see <http://www.gnu.org/licenses/>.
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m` ${1:One line to give the program's name and a brief description.}
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` This library is free software; you can redistribute it and/or modify
+`!p snip.rv = i + m` it under the terms of the GNU Lesser General Public License as published
+`!p snip.rv = i + m` by the Free Software Foundation; either version 2.1 of the License, or
+`!p snip.rv = i + m` (at your option) any later version.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` This library is distributed in the hope that it will be useful,
+`!p snip.rv = i + m` but WITHOUT ANY WARRANTY; without even the implied warranty of
+`!p snip.rv = i + m` MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+`!p snip.rv = i + m` GNU Lesser General Public License for more details.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` You should have received a copy of the GNU Lesser General Public License
+`!p snip.rv = i + m` along with this library; if not, see <http://www.gnu.org/licenses/>.
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet GPL3 "GPL3 License" b
-       ${1:one line to give the program's name and a brief description.}
-       Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
-
-       This program is free software: you can redistribute it and/or modify
-       it under the terms of the GNU General Public License as published by
-       the Free Software Foundation, either version 3 of the License, or
-       (at your option) any later version.
-
-       This program is distributed in the hope that it will be useful,
-       but WITHOUT ANY WARRANTY; without even the implied warranty of
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-       GNU General Public License for more details.
-
-       You should have received a copy of the GNU General Public License
-       along with this program.  If not, see <http://www.gnu.org/licenses/>.
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m` ${1:one line to give the program's name and a brief description.}
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` This program is free software: you can redistribute it and/or modify
+`!p snip.rv = i + m` it under the terms of the GNU General Public License as published by
+`!p snip.rv = i + m` the Free Software Foundation, either version 3 of the License, or
+`!p snip.rv = i + m` (at your option) any later version.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` This program is distributed in the hope that it will be useful,
+`!p snip.rv = i + m` but WITHOUT ANY WARRANTY; without even the implied warranty of
+`!p snip.rv = i + m` MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+`!p snip.rv = i + m` GNU General Public License for more details.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` You should have received a copy of the GNU General Public License
+`!p snip.rv = i + m` along with this program.  If not, see <http://www.gnu.org/licenses/>.
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet LGPL3 "LGPL3 License" b
-       ${1:One line to give the program's name and a brief description.}
-       Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
-
-       This library is free software; you can redistribute it and/or modify
-       it under the terms of the GNU Lesser General Public License as published
-       by the Free Software Foundation; either version 3 of the License, or
-       (at your option) any later version.
-
-       This library is distributed in the hope that it will be useful,
-       but WITHOUT ANY WARRANTY; without even the implied warranty of
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-       GNU Lesser General Public License for more details.
-
-       You should have received a copy of the GNU Lesser General Public License
-       along with this library; if not, see <http://www.gnu.org/licenses/>.
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m` ${1:One line to give the program's name and a brief description.}
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` This library is free software; you can redistribute it and/or modify
+`!p snip.rv = i + m` it under the terms of the GNU Lesser General Public License as published
+`!p snip.rv = i + m` by the Free Software Foundation; either version 3 of the License, or
+`!p snip.rv = i + m` (at your option) any later version.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` This library is distributed in the hope that it will be useful,
+`!p snip.rv = i + m` but WITHOUT ANY WARRANTY; without even the implied warranty of
+`!p snip.rv = i + m` MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+`!p snip.rv = i + m` GNU Lesser General Public License for more details.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` You should have received a copy of the GNU Lesser General Public License
+`!p snip.rv = i + m` along with this library; if not, see <http://www.gnu.org/licenses/>.
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet AGPL3 "AGPL3 License" b
-       ${1:one line to give the program's name and a brief description.}
-       Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
-
-       This program is free software: you can redistribute it and/or modify
-       it under the terms of the GNU Affero General Public License as
-       published by the Free Software Foundation, either version 3 of the
-       License, or (at your option) any later version.
-
-       This program is distributed in the hope that it will be useful,
-       but WITHOUT ANY WARRANTY; without even the implied warranty of
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-       GNU Affero General Public License for more details.
-
-       You should have received a copy of the GNU Affero General Public License
-       along with this program.  If not, see <http://www.gnu.org/licenses/>.
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m` ${1:one line to give the program's name and a brief description.}
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` This program is free software: you can redistribute it and/or modify
+`!p snip.rv = i + m` it under the terms of the GNU Affero General Public License as
+`!p snip.rv = i + m` published by the Free Software Foundation, either version 3 of the
+`!p snip.rv = i + m` License, or (at your option) any later version.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` This program is distributed in the hope that it will be useful,
+`!p snip.rv = i + m` but WITHOUT ANY WARRANTY; without even the implied warranty of
+`!p snip.rv = i + m` MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+`!p snip.rv = i + m` GNU Affero General Public License for more details.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` You should have received a copy of the GNU Affero General Public License
+`!p snip.rv = i + m` along with this program.  If not, see <http://www.gnu.org/licenses/>.
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet GMGPL linking exception "GMGPL linking exception License" b
-       As a special exception, if other files instantiate generics from
-       this unit, or you link this unit with other files to produce an
-       executable, this unit does not by itself cause the resulting
-       executable to be covered by the GNU General Public License.
-       This exception does not however invalidate any other reasons why the
-       executable file might be covered by the GNU Public License.
-
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m` As a special exception, if other files instantiate generics from
+`!p snip.rv = i + m` this unit, or you link this unit with other files to produce an
+`!p snip.rv = i + m` executable, this unit does not by itself cause the resulting
+`!p snip.rv = i + m` executable to be covered by the GNU General Public License.
+`!p snip.rv = i + m` This exception does not however invalidate any other reasons why the
+`!p snip.rv = i + m` executable file might be covered by the GNU Public License.
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet BSD2 "BSD2 License" b
-       ${1:one line to give the program's name and a brief description}
-       Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
-       All rights reserved.
-
-       Redistribution and use in source and binary forms, with or without
-       modification, are permitted provided that the following conditions are met:
-       1. Redistributions of source code must retain the above copyright
-       notice, this list of conditions and the following disclaimer.
-       2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-
-       THIS SOFTWARE IS PROVIDED BY $2 ''AS IS'' AND ANY
-       EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-       DISCLAIMED. IN NO EVENT SHALL $2 BE LIABLE FOR ANY
-       DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-       (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-       LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-       ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-       (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-       SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-       The views and conclusions contained in the software and documentation
-       are those of the authors and should not be interpreted as representing
-       official policies, either expressedor implied, of $2.
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m` ${1:one line to give the program's name and a brief description}
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
+`!p snip.rv = i + m` All rights reserved.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Redistribution and use in source and binary forms, with or without
+`!p snip.rv = i + m` modification, are permitted provided that the following conditions are met:
+`!p snip.rv = i + m` 1. Redistributions of source code must retain the above copyright
+`!p snip.rv = i + m` notice, this list of conditions and the following disclaimer.
+`!p snip.rv = i + m` 2. Redistributions in binary form must reproduce the above copyright
+`!p snip.rv = i + m` notice, this list of conditions and the following disclaimer in the
+`!p snip.rv = i + m` documentation and/or other materials provided with the distribution.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` THIS SOFTWARE IS PROVIDED BY $2 ''AS IS'' AND ANY
+`!p snip.rv = i + m` EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+`!p snip.rv = i + m` WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+`!p snip.rv = i + m` DISCLAIMED. IN NO EVENT SHALL $2 BE LIABLE FOR ANY
+`!p snip.rv = i + m` DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+`!p snip.rv = i + m` (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+`!p snip.rv = i + m` LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+`!p snip.rv = i + m` ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+`!p snip.rv = i + m` (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+`!p snip.rv = i + m` SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` The views and conclusions contained in the software and documentation
+`!p snip.rv = i + m` are those of the authors and should not be interpreted as representing
+`!p snip.rv = i + m` official policies, either expressedor implied, of $2.
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet BSD3 "BSD3 License" b
-       ${1:one line to give the program's name and a brief description}
-       Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
-       All rights reserved.
-
-       Redistribution and use in source and binary forms, with or without
-       modification, are permitted provided that the following conditions are met:
-       1. Redistributions of source code must retain the above copyright
-       notice, this list of conditions and the following disclaimer.
-       2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-       3. Neither the name of the ${4:organization} nor the
-       names of its contributors may be used to endorse or promote products
-       derived from this software without specific prior written permission.
-
-       THIS SOFTWARE IS PROVIDED BY $2 ''AS IS'' AND ANY
-       EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-       DISCLAIMED. IN NO EVENT SHALL $2 BE LIABLE FOR ANY
-       DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-       (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-       LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-       ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-       (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-       SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m` ${1:one line to give the program's name and a brief description}
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
+`!p snip.rv = i + m` All rights reserved.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Redistribution and use in source and binary forms, with or without
+`!p snip.rv = i + m` modification, are permitted provided that the following conditions are met:
+`!p snip.rv = i + m` 1. Redistributions of source code must retain the above copyright
+`!p snip.rv = i + m` notice, this list of conditions and the following disclaimer.
+`!p snip.rv = i + m` 2. Redistributions in binary form must reproduce the above copyright
+`!p snip.rv = i + m` notice, this list of conditions and the following disclaimer in the
+`!p snip.rv = i + m` documentation and/or other materials provided with the distribution.
+`!p snip.rv = i + m` 3. Neither the name of the ${4:organization} nor the
+`!p snip.rv = i + m` names of its contributors may be used to endorse or promote products
+`!p snip.rv = i + m` derived from this software without specific prior written permission.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` THIS SOFTWARE IS PROVIDED BY $2 ''AS IS'' AND ANY
+`!p snip.rv = i + m` EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+`!p snip.rv = i + m` WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+`!p snip.rv = i + m` DISCLAIMED. IN NO EVENT SHALL $2 BE LIABLE FOR ANY
+`!p snip.rv = i + m` DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+`!p snip.rv = i + m` (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+`!p snip.rv = i + m` LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+`!p snip.rv = i + m` ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+`!p snip.rv = i + m` (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+`!p snip.rv = i + m` SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet BSD4 "BSD4 License" b
-       ${1:one line to give the program's name and a brief description}
-       Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
-       All rights reserved.
-
-       Redistribution and use in source and binary forms, with or without
-       modification, are permitted provided that the following conditions are met:
-       1. Redistributions of source code must retain the above copyright
-       notice, this list of conditions and the following disclaimer.
-       2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-       3. All advertising materials mentioning features or use of this software
-       must display the following acknowledgement:
-       This product includes software developed by the ${4:organization}.
-       4. Neither the name of the $4 nor the
-       names of its contributors may be used to endorse or promote products
-       derived from this software without specific prior written permission.
-
-       THIS SOFTWARE IS PROVIDED BY $2 ''AS IS'' AND ANY
-       EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-       DISCLAIMED. IN NO EVENT SHALL $2 BE LIABLE FOR ANY
-       DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-       (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-       LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-       ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-       (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-       SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m` ${1:one line to give the program's name and a brief description}
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
+`!p snip.rv = i + m` All rights reserved.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Redistribution and use in source and binary forms, with or without
+`!p snip.rv = i + m` modification, are permitted provided that the following conditions are met:
+`!p snip.rv = i + m` 1. Redistributions of source code must retain the above copyright
+`!p snip.rv = i + m` notice, this list of conditions and the following disclaimer.
+`!p snip.rv = i + m` 2. Redistributions in binary form must reproduce the above copyright
+`!p snip.rv = i + m` notice, this list of conditions and the following disclaimer in the
+`!p snip.rv = i + m` documentation and/or other materials provided with the distribution.
+`!p snip.rv = i + m` 3. All advertising materials mentioning features or use of this software
+`!p snip.rv = i + m` must display the following acknowledgement:
+`!p snip.rv = i + m` This product includes software developed by the ${4:organization}.
+`!p snip.rv = i + m` 4. Neither the name of the $4 nor the
+`!p snip.rv = i + m` names of its contributors may be used to endorse or promote products
+`!p snip.rv = i + m` derived from this software without specific prior written permission.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` THIS SOFTWARE IS PROVIDED BY $2 ''AS IS'' AND ANY
+`!p snip.rv = i + m` EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+`!p snip.rv = i + m` WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+`!p snip.rv = i + m` DISCLAIMED. IN NO EVENT SHALL $2 BE LIABLE FOR ANY
+`!p snip.rv = i + m` DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+`!p snip.rv = i + m` (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+`!p snip.rv = i + m` LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+`!p snip.rv = i + m` ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+`!p snip.rv = i + m` (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+`!p snip.rv = i + m` SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet MIT "MIT License" b
-       ${1:one line to give the program's name and a brief description}
-       Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
-
-       Permission is hereby granted, free of charge, to any person obtaining
-       a copy of this software and associated documentation files (the "Software"),
-       to deal in the Software without restriction, including without limitation
-       the rights to use, copy, modify, merge, publish, distribute, sublicense,
-       and/or sell copies of the Software, and to permit persons to whom the
-       Software is furnished to do so, subject to the following conditions:
-
-       The above copyright notice and this permission notice shall be included
-       in all copies or substantial portions of the Software.
-
-       THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-       EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-       OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-       IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-       DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-       TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
-       OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m` ${1:one line to give the program's name and a brief description}
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Permission is hereby granted, free of charge, to any person obtaining
+`!p snip.rv = i + m` a copy of this software and associated documentation files (the "Software"),
+`!p snip.rv = i + m` to deal in the Software without restriction, including without limitation
+`!p snip.rv = i + m` the rights to use, copy, modify, merge, publish, distribute, sublicense,
+`!p snip.rv = i + m` and/or sell copies of the Software, and to permit persons to whom the
+`!p snip.rv = i + m` Software is furnished to do so, subject to the following conditions:
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` The above copyright notice and this permission notice shall be included
+`!p snip.rv = i + m` in all copies or substantial portions of the Software.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+`!p snip.rv = i + m` EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+`!p snip.rv = i + m` OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+`!p snip.rv = i + m` IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+`!p snip.rv = i + m` DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+`!p snip.rv = i + m` TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+`!p snip.rv = i + m` OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet APACHE "APACHE License" b
-       ${1:one line to give the program's name and a brief description}
-       Copyright `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
-
-       Licensed under the Apache License, Version 2.0 (the "License");
-       you may not use this file except in compliance with the License.
-       You may obtain a copy of the License at
-
-               http://www.apache.org/licenses/LICENSE-2.0
-
-       Unless required by applicable law or agreed to in writing, software
-       distributed under the License is distributed on an "AS IS" BASIS,
-       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-       See the License for the specific language governing permissions and
-       limitations under the License.
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m` ${1:one line to give the program's name and a brief description}
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Licensed under the Apache License, Version 2.0 (the "License");
+`!p snip.rv = i + m` you may not use this file except in compliance with the License.
+`!p snip.rv = i + m` You may obtain a copy of the License at
+`!p snip.rv = i + m`
+`!p snip.rv = i + m`   http://www.apache.org/licenses/LICENSE-2.0
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Unless required by applicable law or agreed to in writing, software
+`!p snip.rv = i + m` distributed under the License is distributed on an "AS IS" BASIS,
+`!p snip.rv = i + m` WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+`!p snip.rv = i + m` See the License for the specific language governing permissions and
+`!p snip.rv = i + m` limitations under the License.
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet BEERWARE "BEERWARE License" b
-       ${1:one line to give the program's name and a brief description}
-       Copyright `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
-
-       Licensed under the "THE BEER-WARE LICENSE" (Revision 42):
-       $2 wrote this file. As long as you retain this notice you
-       can do whatever you want with this stuff. If we meet some day, and you think
-       this stuff is worth it, you can buy me a beer or coffee in return
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m` ${1:one line to give the program's name and a brief description}
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Licensed under the "THE BEER-WARE LICENSE" (Revision 42):
+`!p snip.rv = i + m` $2 wrote this file. As long as you retain this notice you
+`!p snip.rv = i + m` can do whatever you want with this stuff. If we meet some day, and you think
+`!p snip.rv = i + m` this stuff is worth it, you can buy me a beer or coffee in return
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet WTFPL "WTFPL License" b
-                       DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
-                                       Version 2, December 2004
-
-       Copyright `!v strftime("%Y")` ${1:`!p _git_user_name()`} <${2:`!p _git_user_email()`}>
-
-       Everyone is permitted to copy and distribute verbatim or modified
-       copies of this license document, and changing it is allowed as long
-       as the name is changed.
-
-                       DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
-       TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-        0. You just DO WHAT THE FUCK YOU WANT TO.
-
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m`           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+`!p snip.rv = i + m`                           Version 2, December 2004
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v strftime("%Y")` ${1:`!p _git_user_name()`} <${2:`!p _git_user_email()`}>
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Everyone is permitted to copy and distribute verbatim or modified
+`!p snip.rv = i + m` copies of this license document, and changing it is allowed as long
+`!p snip.rv = i + m` as the name is changed.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m`           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+`!p snip.rv = i + m` TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+`!p snip.rv = i + m`
+`!p snip.rv = i + m`   0. You just DO WHAT THE FUCK YOU WANT TO.
+`!p snip.rv = i + m`
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet MPL2 "MPL2 License" b
-       This Source Code Form is subject to the terms of the Mozilla Public
-       License, v. 2.0. If a copy of the MPL was not distributed with this
-       file, You can obtain one at http://mozilla.org/MPL/2.0/.
-       ${0}
+`!p snip.rv = b`
+`!p snip.rv = i + m` This Source Code Form is subject to the terms of the Mozilla Public
+`!p snip.rv = i + m` License, v. 2.0. If a copy of the MPL was not distributed with this
+`!p snip.rv = i + m` file, You can obtain one at http://mozilla.org/MPL/2.0/.
+`!p snip.rv = i + e`
+${0}
 endsnippet
 
 snippet AGPL "AGPL License" b
-       ${1:One line to give the program's name and a brief description.}
-       Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
-
-       This program  is free software: you can redistribute it and/or modify
-       it under the terms of the GNU Affero General Public License as
-       published by the Free Software Foundation, either version 3 of the
-       License, or (at your option) any later version.
-
-       This program is distributed in the hope that it will be useful,
-       but WITHOUT ANY WARRANTY; without even the implied warranty of
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-       GNU Affero General Public License for more details.
-
-       You should have received a copy of the GNU Affero General Public License
-       along with this program. If not, see <http://www.gnu.org/licenses/>.
+`!p snip.rv = b`
+`!p snip.rv = i + m` ${1:One line to give the program's name and a brief description.}
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` Copyright `!v &enc[:2] == "utf" ? "©" : "(c)"` `!v strftime("%Y")` ${2:`!p _git_user_name()`} <${3:`!p _git_user_email()`}>
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` This program  is free software: you can redistribute it and/or modify
+`!p snip.rv = i + m` it under the terms of the GNU Affero General Public License as
+`!p snip.rv = i + m` published by the Free Software Foundation, either version 3 of the
+`!p snip.rv = i + m` License, or (at your option) any later version.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` This program is distributed in the hope that it will be useful,
+`!p snip.rv = i + m` but WITHOUT ANY WARRANTY; without even the implied warranty of
+`!p snip.rv = i + m` MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+`!p snip.rv = i + m` GNU Affero General Public License for more details.
+`!p snip.rv = i + m`
+`!p snip.rv = i + m` You should have received a copy of the GNU Affero General Public License
+`!p snip.rv = i + m` along with this program. If not, see <http://www.gnu.org/licenses/>.
+`!p snip.rv = i + e`
 endsnippet