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