85 lines
1.9 KiB
VimL
85 lines
1.9 KiB
VimL
|
" Vim plugin file
|
||
|
" Purpose: Create a template for new bb files
|
||
|
" Author: Ricardo Salveti <rsalveti@gmail.com>
|
||
|
" Copyright: Copyright (C) 2008 Ricardo Salveti <rsalveti@gmail.com>
|
||
|
"
|
||
|
" This file is licensed under the MIT license, see COPYING.MIT in
|
||
|
" this source distribution for the terms.
|
||
|
"
|
||
|
" Based on the gentoo-syntax package
|
||
|
"
|
||
|
" Will try to use git to find the user name and email
|
||
|
|
||
|
if &compatible || v:version < 600
|
||
|
finish
|
||
|
endif
|
||
|
|
||
|
fun! <SID>GetUserName()
|
||
|
let l:user_name = system("git config --get user.name")
|
||
|
if v:shell_error
|
||
|
return "Unknown User"
|
||
|
else
|
||
|
return substitute(l:user_name, "\n", "", "")
|
||
|
endfun
|
||
|
|
||
|
fun! <SID>GetUserEmail()
|
||
|
let l:user_email = system("git config --get user.email")
|
||
|
if v:shell_error
|
||
|
return "unknow@user.org"
|
||
|
else
|
||
|
return substitute(l:user_email, "\n", "", "")
|
||
|
endfun
|
||
|
|
||
|
fun! BBHeader()
|
||
|
let l:current_year = strftime("%Y")
|
||
|
let l:user_name = <SID>GetUserName()
|
||
|
let l:user_email = <SID>GetUserEmail()
|
||
|
0 put ='# Copyright (C) ' . l:current_year .
|
||
|
\ ' ' . l:user_name . ' <' . l:user_email . '>'
|
||
|
put ='# Released under the MIT license (see COPYING.MIT for the terms)'
|
||
|
$
|
||
|
endfun
|
||
|
|
||
|
fun! NewBBTemplate()
|
||
|
let l:paste = &paste
|
||
|
set nopaste
|
||
|
|
||
|
" Get the header
|
||
|
call BBHeader()
|
||
|
|
||
|
" New the bb template
|
||
|
put ='DESCRIPTION = \"\"'
|
||
|
put ='HOMEPAGE = \"\"'
|
||
|
put ='LICENSE = \"\"'
|
||
|
put ='SECTION = \"\"'
|
||
|
put ='DEPENDS = \"\"'
|
||
|
put =''
|
||
|
put ='SRC_URI = \"\"'
|
||
|
|
||
|
" Go to the first place to edit
|
||
|
0
|
||
|
/^DESCRIPTION =/
|
||
|
exec "normal 2f\""
|
||
|
|
||
|
if paste == 1
|
||
|
set paste
|
||
|
endif
|
||
|
endfun
|
||
|
|
||
|
if !exists("g:bb_create_on_empty")
|
||
|
let g:bb_create_on_empty = 1
|
||
|
endif
|
||
|
|
||
|
" disable in case of vimdiff
|
||
|
if v:progname =~ "vimdiff"
|
||
|
let g:bb_create_on_empty = 0
|
||
|
endif
|
||
|
|
||
|
augroup NewBB
|
||
|
au BufNewFile *.bb
|
||
|
\ if g:bb_create_on_empty |
|
||
|
\ call NewBBTemplate() |
|
||
|
\ endif
|
||
|
augroup END
|
||
|
|