packages: vim-syntax-spec/vim-ftplugin-spec.vim - add Summary, %description...
uzsolt
uzsolt at pld-linux.org
Fri Jul 2 10:44:58 CEST 2010
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 <glen at pld-linux.org>
-" Copyright: Copyright (c) 2005 PLD Linux
+" Author: Elan Ruusamäe <glen at pld-linux.org>, Zsolt Udvari <uzsolt at pld-linux.org>
+" 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
More information about the pld-cvs-commit
mailing list