Adding the first version of the newbb plugin.
Ricardo Salveti [Tue, 20 May 2008 04:48:35 +0000 (01:48 -0300)]
This plugin will show the user a template when creating new bb files.

plugin/newbb.vim [new file with mode: 0644]

diff --git a/plugin/newbb.vim b/plugin/newbb.vim
new file mode 100644 (file)
index 0000000..cbc2261
--- /dev/null
@@ -0,0 +1,80 @@
+" 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! GetUserName()
+    let l:user_name = system("git-config --get user.name")
+    if v:shell_error
+        return "Unknow User"
+    else
+        return substitute(l:user_name, "\n", "", "")
+endfun
+
+fun! 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 = GetUserName()
+    let l:user_email = 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()
+    set nopaste
+
+   " Get the header
+    call BBHeader()
+
+   " New the bb template
+   put ='DESCRIPTION = \"\"'
+   put ='HOMEPAGE = \"\"'
+   put ='LICENSE = \"\"' 
+   put ='SECTION = \"\"'
+   put ='DEPENDS = \"\"'
+   put ='PR = \"r0\"'
+   put =''
+   put ='SRC_URI = \"\"'
+
+   " Go to the first place to edit
+   0
+   /^DESCRIPTION =/
+   exec "normal $"
+
+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