Le dimanche 18 mai 2003, Lorenzo Cappelletti écrit : > Hi Nicolas, > > Emanuele Aina has improved the ddts.vim syntax highlight. Could you > take a look at it? I think it is worth including it in the next release > of your ddtc. I fixed a spelling mistake (missing 'ddts' for EmailSymbol highlighting at the end.
Here are the fix ddts.vim from Emanuele and a modified version for ddtc use. Thanks a lot Emanuele for your work, it will be included in next ddtc release (0.9 is already online, sorry). BTW, has nobody done the same thing for emacs? <flame> or maybe vim is really better that emacs ;) </flame> Anyway, if you have something similar for emacs, I will be pleased to add it also, let me know. Nicolas --
" Vim syntax file " Language: DDTP server files " Maintainer: Nicolas Bertolissio <[EMAIL PROTECTED]> " Last Change: Tue, 20 May 2003 12:43:48 +0200 " " Modified ddts syntax from Emanuele Aina <[EMAIL PROTECTED]> to ddtc " Original work based on the script of Fabio Bonelli <[EMAIL PROTECTED]> " and Nicolas Bertolissio <[EMAIL PROTECTED]>. " This script check the ddts_nofolding variable to disable the folding " method based on the syntax regions. " For version 5.x: clear all syntax items " For version 6.x: quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish endif " Case-sensitive syntax case match " This matches the original description syntax region ddtsOriginal fold keepend transparent start=/^Description: / end=/\(^[^\t\ #]\)\|^$/me=e-1 contains=ddtsShortDesc,ddtsLongDesc " This matches every localized description syntax region ddtsTranslation fold keepend transparent start=/^Description-[a-z][a-z]/ end=/\(^[^\t\ >]\)\|^$/me=e-1 contains=ddtsShortDesc,ddtsLongDesc syntax match ddtsShortDesc /^Description\(-[a-z][a-z]\(_[A-Z][A-Z]\)\?\)\?: .*/ contained contains=ddtsDescKey,ddtsTooLong,ddtsTodo,ddtsShortError syntax match ddtsDescKey /^Description\(-[a-z][a-z]\(_[A-Z][A-Z]\)\?\)\?: / contained nextgroup=ddtsTooLong syntax region ddtsLongDesc fold keepend start=/^[\t\ #>]/ end=/\(^[^\t\ #>]\)\|^$/me=e-1 contained contains=ddtsParag,ddtsDot " Long descriptions are divided in paragraph syntax region ddtsParag fold start=/^[\t\ #][^\.]/ end=/ \.$/me=e-2 skip=/^[#>]/ contained contains=ddtsComment,ddtsDdtcComment,ddtsTooLong,ddtsError,ddtsTodo syntax match ddtsDot /^\ \.$/ syntax region ddtsComment fold start=/^#.*/ end=/^[^#]/me=e-1 contains=ddtsHeader,ddtsTranslatorComment,ddtsDiffRemoved,ddtsDiffAdded syntax region ddtsDdtcComment fold start=/^>>.*/ end=/^[^>]/me=e-1 contains=ddtsTranslatorComment,ddtsDiffRemoved,ddtsDiffAdded " Diffs due to update or corrections syntax match ddtsDiffRemoved /^# -.*/ syntax match ddtsDiffAdded /^# +.*/ syntax match ddtsTranslatorComment /^>>[a-z]#.*/ syntax match ddtsTranslatorComment /^>> .*/ syntax match ddtsDiffRemoved /^>>-.*/ syntax match ddtsDiffRemoved /^>>--.*/ syntax match ddtsDiffAdded /^>>+.*/ syntax match ddtsDiffAdded /^>>[a-z]+.*/ " Errors syntax match ddtsTooLong /.*/ms=s+80 contained syntax match ddtsError /\t/ contained syntax match ddtsError /^ \zs\.\ze.\+/ contained syntax match ddtsError /\s\+$/ contained syntax match ddtsShortError /[. \t ]\+$/ contained syntax match ddtsShortError /\t/ contained syntax match ddtsTodo /<\zstrans\ze>/ " Headers and commands syntax match ddtsHeader /^# \(package\|translator\|ddts id\|bug number\|reviewer\): .*/ contains=ddtsHeaderKey,ddtsHeaderArg syntax match ddtsHeaderKey /\(package\|translator\|ddts id\|bug number\|reviewer\)/ contained contains=ddtsHeaderArg syntax match ddtsHeaderArg /: .*$/ contained contains=ddtsEmail syntax match ddtsEmail /[_=a-z\./[EMAIL PROTECTED]/\-]\+/ contained contains=ddtsEmailSymbol syntax match ddtsEmail /<.\{-}>/ contained contains=ddtsEmailSymbol syntax match ddtsEmailSymbol /[<\@>]/ highlight def link ddtsDescKey Keyword highlight def link ddtsDot Type highlight def link ddtsComment Comment highlight def link ddtsDiffRemoved Special highlight def link ddtsDiffAdded Identifier highlight def link ddtsTooLong Error highlight def link ddtsTodo Todo highlight def link ddtsError Error highlight def link ddtsShortError Error highlight def link ddtsHeader Comment highlight def link ddtsHeaderKey Identifier highlight def link ddtsHeaderArg NonText highlight ddtsTranslatorComment ctermbg=DarkBlue ctermfg=Grey highlight ddtsEmail ctermfg=DarkBlue highlight ddtsEmailSymbol ctermfg=DarkMagenta if !exists("ddts_nofolding") set foldmethod=syntax 1,$foldopen! endif let b:current_syntax = "ddts"
" Vim syntax file " Language: DDTP server files " Maintainer: Emanuele Aina <[EMAIL PROTECTED]> " Last Change: Tue, 24 Sep 2002 22:33:15 +0200 " " Original work based on the script of Fabio Bonelli <[EMAIL PROTECTED]> " and Nicolas Bertolissio <[EMAIL PROTECTED]>. " This script check the ddts_nofolding variable to disable the folding " method based on the syntax regions. " For version 5.x: clear all syntax items " For version 6.x: quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish endif " Case-sensitive syntax case match " This matches the original description syntax region ddtsOriginal fold keepend transparent start=/^Description: / end=/\(^[^\t\ #]\)\|^$/me=e-1 contains=ddtsShortDesc,ddtsLongDesc " This matches every localized description syntax region ddtsTranslation fold keepend transparent start=/^Description-[a-z][a-z]/ end=/\(^[^\t\ #]\)\|^$/me=e-1 contains=ddtsShortDesc,ddtsLongDesc syntax match ddtsShortDesc /^Description\(-[a-z][a-z]\(_[A-Z][A-Z]\)\?\)\?: .*/ contained contains=ddtsDescKey,ddtsDescTooLong,ddtsTodo,ddtsSpellError syntax match ddtsDescKey /^Description\(-[a-z][a-z]\(_[A-Z][A-Z]\)\?\)\?:/ contained nextgroup=ddtsDescTooLong syntax region ddtsLongDesc fold keepend start=/^[\t\ #]/ end=/\(^[^\t\ #]\)\|^$/me=e-1 contained contains=ddtsParag,ddtsDot " Long descriptions are divided in paragraph syntax region ddtsParag fold start=/^[\t\ #][^\.]/ end=/ \.$/me=e-2 skip=/^#/ contained contains=ddtsComment,ddtsTooLong,ddtsError,ddtsTodo,ddtsSpellError syntax match ddtsDot /^\ \.$/ syntax region ddtsComment fold start=/^#.*/ end=/^[^#]/me=e-1 contains=ddtsHeader,ddtsTooLong,ddtsTranslatorComment,ddtsDiffRemoved,ddtsDiffAdded,ddtsSect " Translators' comments syntax match ddtsTranslatorComment display /^##.*/ contained contains=ddtsTooLong " Diffs due to update or corrections syntax match ddtsDiffRemoved /^# -.*/ syntax match ddtsDiffAdded /^# +.*/ syntax match ddtsTooLong /^\s\+\zs.*/ms=s+80 contained syntax match ddtsTooLong /^#.*/ms=s+80 contained syntax match ddtsDescTooLong /.*/ms=s+80 contained syntax match ddtsTodo /<\zstrans\ze>/ syntax match ddtsError /\t/ contained syntax match ddtsError /^ \.\ze.\+/ contained " Sections syntax match ddtsSect /^# \zs\(original\|new\|old\|diff old-new\)\ze description.*/ contained syntax match ddtsSect /^# \zs\(new\|old\|diff old-new\)\ze translation:.*/ contained syntax match ddtsSect /^# \zsold translated\ze description:.*/ contained " Headers and commands syntax match ddtsHeader /^# \(Packages\|Translator\|ddts id\|Bug-Nr.\|reviewer\): .*/ contains=ddtsHeaderKey,ddtsHeaderArg syntax match ddtsHeader /^\(From\|BTSCLOSE\): .*/ contains=ddtsHeaderKey,ddtsHeaderArg syntax match ddtsHeaderKey /\(From\|BTSCLOSE\|Packages\|Translator\|ddts id\|Bug-Nr.\|reviewer\):/ contained contains=ddtsHeaderArg syntax match ddtsHeaderArg /: .*$/ contained contains=ddtsEmail syntax match ddtsEmail /[_=a-z\./[EMAIL PROTECTED]/\-]\+/ contained contains=ddtsEmailSymbol syntax match ddtsEmail /<.\{-}>/ contained contains=ddtsEmailSymbol syntax match ddtsEmailSymbol /[<\@>]/ highlight def link ddtsDescKey Keyword highlight def link ddtsDot Type highlight def link ddtsComment Comment highlight def link ddtsDiffRemoved Special highlight def link ddtsDiffAdded Identifier highlight def link ddtsTooLong Error highlight def link ddtsDescTooLong Error highlight def link ddtsTodo Todo highlight def link ddtsError Error highlight def link ddtsHeader Comment highlight def link ddtsHeaderKey Identifier highlight def link ddtsHeaderArg NonText highlight ddtsTranslatorComment ctermbg=DarkBlue ctermfg=Grey highlight ddtsSect ctermfg=Magenta highlight ddtsEmail ctermfg=DarkBlue highlight ddtsEmailSymbol ctermfg=DarkMagenta if !exists("ddts_nofolding") set foldmethod=syntax 1,$foldopen! endif let b:current_syntax = "ddts"