1*4882a593Smuzhiyun" Vim plugin file 2*4882a593Smuzhiyun" Purpose: Create a template for new bb files 3*4882a593Smuzhiyun" Author: Ricardo Salveti <rsalveti@gmail.com> 4*4882a593Smuzhiyun" Copyright: Copyright (C) 2008 Ricardo Salveti <rsalveti@gmail.com> 5*4882a593Smuzhiyun" 6*4882a593Smuzhiyun" This file is licensed under the MIT license, see COPYING.MIT in 7*4882a593Smuzhiyun" this source distribution for the terms. 8*4882a593Smuzhiyun" 9*4882a593Smuzhiyun" Based on the gentoo-syntax package 10*4882a593Smuzhiyun" 11*4882a593Smuzhiyun" Will try to use git to find the user name and email 12*4882a593Smuzhiyun 13*4882a593Smuzhiyunif &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin") 14*4882a593Smuzhiyun finish 15*4882a593Smuzhiyunendif 16*4882a593Smuzhiyun 17*4882a593Smuzhiyunfun! <SID>GetUserName() 18*4882a593Smuzhiyun let l:user_name = system("git config --get user.name") 19*4882a593Smuzhiyun if v:shell_error 20*4882a593Smuzhiyun return "Unknown User" 21*4882a593Smuzhiyun else 22*4882a593Smuzhiyun return substitute(l:user_name, "\n", "", "") 23*4882a593Smuzhiyunendfun 24*4882a593Smuzhiyun 25*4882a593Smuzhiyunfun! <SID>GetUserEmail() 26*4882a593Smuzhiyun let l:user_email = system("git config --get user.email") 27*4882a593Smuzhiyun if v:shell_error 28*4882a593Smuzhiyun return "unknown@user.org" 29*4882a593Smuzhiyun else 30*4882a593Smuzhiyun return substitute(l:user_email, "\n", "", "") 31*4882a593Smuzhiyunendfun 32*4882a593Smuzhiyun 33*4882a593Smuzhiyunfun! BBHeader() 34*4882a593Smuzhiyun let l:current_year = strftime("%Y") 35*4882a593Smuzhiyun let l:user_name = <SID>GetUserName() 36*4882a593Smuzhiyun let l:user_email = <SID>GetUserEmail() 37*4882a593Smuzhiyun 0 put ='# Copyright (C) ' . l:current_year . 38*4882a593Smuzhiyun \ ' ' . l:user_name . ' <' . l:user_email . '>' 39*4882a593Smuzhiyun put ='# Released under the MIT license (see COPYING.MIT for the terms)' 40*4882a593Smuzhiyun $ 41*4882a593Smuzhiyunendfun 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunfun! NewBBTemplate() 44*4882a593Smuzhiyun if line2byte(line('$') + 1) != -1 45*4882a593Smuzhiyun return 46*4882a593Smuzhiyun endif 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun let l:paste = &paste 49*4882a593Smuzhiyun set nopaste 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun " Get the header 52*4882a593Smuzhiyun call BBHeader() 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun " New the bb template 55*4882a593Smuzhiyun put ='SUMMARY = \"\"' 56*4882a593Smuzhiyun put ='HOMEPAGE = \"\"' 57*4882a593Smuzhiyun put ='LICENSE = \"\"' 58*4882a593Smuzhiyun put ='SECTION = \"\"' 59*4882a593Smuzhiyun put ='DEPENDS = \"\"' 60*4882a593Smuzhiyun put ='' 61*4882a593Smuzhiyun put ='SRC_URI = \"\"' 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun " Go to the first place to edit 64*4882a593Smuzhiyun 0 65*4882a593Smuzhiyun /^SUMMARY =/ 66*4882a593Smuzhiyun exec "normal 2f\"" 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun if paste == 1 69*4882a593Smuzhiyun set paste 70*4882a593Smuzhiyun endif 71*4882a593Smuzhiyunendfun 72*4882a593Smuzhiyun 73*4882a593Smuzhiyunif !exists("g:bb_create_on_empty") 74*4882a593Smuzhiyun let g:bb_create_on_empty = 1 75*4882a593Smuzhiyunendif 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun" disable in case of vimdiff 78*4882a593Smuzhiyunif v:progname =~ "vimdiff" 79*4882a593Smuzhiyun let g:bb_create_on_empty = 0 80*4882a593Smuzhiyunendif 81*4882a593Smuzhiyun 82*4882a593Smuzhiyunaugroup NewBB 83*4882a593Smuzhiyun au BufNewFile,BufReadPost *.bb 84*4882a593Smuzhiyun \ if g:bb_create_on_empty | 85*4882a593Smuzhiyun \ call NewBBTemplate() | 86*4882a593Smuzhiyun \ endif 87*4882a593Smuzhiyunaugroup END 88*4882a593Smuzhiyun 89