Author: uzsolt Date: Fri Jul 2 08:44:58 2010 GMT Module: packages Tag: HEAD ---- Log message: - add Summary, %description and 'full subpackage' creation - add mappings to functions above
---- Files affected: packages/vim-syntax-spec: vim-ftplugin-spec.vim (1.8 -> 1.9) ---- Diffs: ================================================================ Index: packages/vim-syntax-spec/vim-ftplugin-spec.vim diff -u packages/vim-syntax-spec/vim-ftplugin-spec.vim:1.8 packages/vim-syntax-spec/vim-ftplugin-spec.vim:1.9 --- packages/vim-syntax-spec/vim-ftplugin-spec.vim:1.8 Sun Apr 4 16:38:58 2010 +++ packages/vim-syntax-spec/vim-ftplugin-spec.vim Fri Jul 2 10:44:53 2010 @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: RPM spec file -" Author: Elan Ruusam�e <[email protected]> -" Copyright: Copyright (c) 2005 PLD Linux +" Author: Elan Ruusam�e <[email protected]>, Zsolt Udvari <[email protected]> +" Copyright: Copyright (c) 2005-2010 PLD Linux " Licence: You may redistribute this under the same terms as Vim itself " " This sets up filetype specific options for RPM spec files. @@ -14,5 +14,82 @@ map <F9> :!. /etc/shrc.d/rpm-build.sh; cvs diff -u % \| diffcol \| less -nR<CR> map <F10> :!builder -bb -R -u %<CR> +" which langs do you use, you can modify +" should use "" +let langlist = ["","hu"] + +let UTF8 = ".UTF-8" + +" default Group of some subpackages +let groups = { "devel":"Development/Libraries" , "static":"Development/Libraries" } + +" This function queries the subpackage name +function! QuerySubpackage() + return input("Subpackage name: ","") +endfunction + +" Returns a Summary field (with 'lang') +function! GetSummary(lang) + let sumstr = "Summary" + let sumstr .= a:lang != "" ? "(" . a:lang . g:UTF8 . "):" : "" + let sumstr .= "\t" + return sumstr +endfunction + +" Returns a %description, with lang and -n +function! GetDescription(lang,subpackage,n) + let descstr = "%description " + if a:subpackage != "" + if a:n > 0 + descstr .= "-n " + endif + let descstr .= a:subpackage + endif + if a:lang != "" + let descstr .= " -l " . a:lang . g:UTF8 + endif + return descstr . "\n" +endfunction + +" Write Summary fielad +function! Summary(lang) + execute "normal O" . GetSummary(a:lang) +endfunction + +" Write %description +function! Description(lang,subpackage,n) + execute "normal O" . GetDescription(a:lang,a:subpackage,a:n) +endfunction + +" Complete create a subpackage +function! CreateSubpackage(n) + let subpackstr = "%package " + if a:n > 0 + let subpackstr .= "-n " + endif + let subpackname = QuerySubpackage() + let subpackstr .= subpackname . "\n" + for lang in g:langlist + let subpackstr .= GetSummary(lang) . input("Summary" . (lang!="" ? "(" . lang . g:UTF8 . ")" : "") . ": ","") . "\n" + endfor + let subpackstr .= "Group:\t\t" . input("Group: ",has_key(g:groups,subpackname) ? g:groups[subpackname] : "") . "\n" + for lang in g:langlist + let subpackstr .= "\n" . GetDescription(lang,subpackname,a:n) + endfor + execute "normal O" . subpackstr +endfunction + +nmap <buffer>\se :call Summary("")<CR> +nmap <buffer>\sh :call Summary("hu")<CR> +nmap <buffer>\sp :call Summary("pl")<CR> + +nmap <buffer>\de :call Description("",QuerySubpackage(),0)<CR> +nmap <buffer>\dh :call Description("hu",QuerySubpackage(),0)<CR> +nmap <buffer>\dp :call Description("pl",QuerySubpackage(),0)<CR> + +nmap <buffer>\ps :call CreateSubpackage(0)<CR> +nmap <buffer>\pn :call CreateSubpackage(1)<CR> + " PLD specfiles are in UTF-8 encoding setlocal fileencodings=ucs-bom,utf-8,default,latin2 + ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/vim-syntax-spec/vim-ftplugin-spec.vim?r1=1.8&r2=1.9&f=u
_______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
