" Vim syntax file " Language: po (GNU gettext) " Maintainer: Sung-Hyun Nam " Last Change: 25.04.2003 " Last change made by Слободан Средојевић " remove any old syntax stuff hanging around syn clear syn match poComment "^#.*$" syn match poSources "^#:.*$" syn match poStatement "^\(msgid\|msgstr\)" syn match poSpecial contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)" syn match poFormat "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([diuoxXfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained syn match poFormat "%%" contained syn region poString start=+"+ skip=+\\\\\|\\"+ end=+"+ \ contains=poSpecial,poFormat if !exists("did_po_syntax_inits") let did_po_syntax_inits = 1 " The default methods for highlighting. Can be overridden later. hi link poComment Comment hi link poSources PreProc hi link poStatement Statement hi link poSpecial Special hi link poFormat poSpecial hi link poString String endif let b:current_syntax = "po" " vim:set ts=8 sts=8 sw=8 noet: " " ########### " " po.vimrc: VIM resource for 'po' file editing. set com= set path=.,..,../src,, " find a non-translated msg string nmap,fm :call FindNonTransMsg()z. imap :call FindNonTransMsg()z.$i " find fuzzy and remove imap ?#,fuzzy\\|#, fuzzy:let @/ = ""ddi " insert fuzzy imap {:let @/ = ""o#, fuzzyi " change po revision date imap /PO-Revision-Date:f:ld$a =strftime("%Y-%m-%d %H:%M%z")\n"i " show statistics imap :w:!msgfmt --statistics % " put original msgid string into msgstr quotes "". imap }?^msgidf"ly$/^msgstr:let @/ = ""f"plxi " erase the translated message imap }?^msgstr:let @/ = ""f"lc}"i function! FindNonTransMsg() let lnum = line(".") + 1 let enum = line("$") let found = 0 while lnum < enum let line = getline(lnum) let lnum = lnum + 1 if line == "msgstr \"\"" let blank = getline(lnum) if blank == "" let found = found + 1 exec "normal " . lnum . "ggk" let lnum = enum endif let lnum = lnum + 1 endif endwhile if found < 1 echo "Cannot find non-translated msg" endif endfun