Lorenzo Cappelletti aggiornò:
As usual...
[...]
Un po' di tempo fa avevo fatto qulche piccola modifica qua e là ai due file di sintassi per vim e questo ne era il risultato.
Se a qualcuno interessa lo allego così ci può dare un'occhiata... :)
Si tratta di un semplice file di sintassi, ma è in grado anche di gestire correttamente il folding delle sezioni e dei commenti (i comandi zo e zc di vim).
Utile quando le descrizioni sono lunghe o ci sono commenti i mezzo.
Fatemi sapere. :)
-- Buongiorno. Complimenti per l'ottima scelta.
" 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 scipt 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 EmailSymbol ctermfg=DarkMagenta if !exists("ddts_nofolding") set foldmethod=syntax 1,$foldopen! endif let b:current_syntax = "ddts"