Le Mer 25 Janvier 2006 23:10, martin f krafft a écrit :
> If a link contains special characters like the German ÄÖÜ, the link
> definition will be highlighted as if it was a comment. Maybe use
> [[:alpha:]] instead of [a-z] ?

done. the new file is attached if you wanna try it.
-- 
·O·  Pierre Habouzit
··O                                                [EMAIL PROTECTED]
OOO                                                http://www.madism.org
" Vim syntax file
" Language:         reStructuredText Documentation Format
" Maintainer:       Nikolai Weibull <[EMAIL PROTECTED]>
" URL:              http://www.pcppopper.org/vim/syntax/pcp/rst/
" Latest Revision:  2004-05-13
" arch-tag:         6fae09da-d5d4-49d8-aec1-e49008ea21e6

if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif

" todo
syn keyword     rstTodo         contained FIXME TODO XXX NOTE

syn case ignore

" comments
syn region      rstComment      matchgroup=rstComment start="^\.\.\%( 
\%([\'\w.-]\+::\)[EMAIL PROTECTED]|$\)" end="[EMAIL PROTECTED]" contains=rstTodo

syn cluster     rstCruft    
contains=rstFootnoteLabel,rstCitationLabel,rstSubstitutionLabel,rstInline,rstHyperlinks,rstInternalTarget

" blocks
" syn region    rstBlock        matchgroup=rstDelimiter start=":\@<!:$" 
skip="^$" end="[EMAIL PROTECTED]" [EMAIL PROTECTED]
syn region      rstBlock        matchgroup=rstDelimiter start="::$" skip="^$" 
end="[EMAIL PROTECTED]"
syn region      rstDoctestBlock matchgroup=rstDelimiter start="^>>>\s" end="^$"

" tables
" TODO: these may actually be a bit too complicated to match correctly and
" should perhaps be removed.  Whon really needs it anyway?
syn region      rstTable        transparent start="^\n\s*+[-=+]\+" end="^$" 
contains=rstTableLines,@rstCruft
syn match       rstTableLines   contained "^\s*[|+=-]\+$"
syn region      rstSimpleTable  transparent 
start="^\n\s*\%(=\+\s\+\)\%(=\+\s*\)\+$" end="^$" 
contains=rstSimpleTableLines,@rstCruft
syn match       rstSimpleTableLines contained "^\s*\%(=\+\s\+\)\%(=\+\s*\)\+$"

" footnotes
syn region      rstFootnote     matchgroup=rstDirective start="^\.\. 
\[\%([#*]\|[0-9]\+\|#[\'\w.-]\+\)\]\s" end="[EMAIL PROTECTED]" [EMAIL PROTECTED]
syn match       rstFootnoteLabel "\[\%([#*]\|[0-9]\+\|#[\'\w.-]\+\)\]_"

" citations
syn region      rstCitation     matchgroup=rstDirective start="^\.\. 
\[[\'\w.-]\+\]\s" end="[EMAIL PROTECTED]" [EMAIL PROTECTED]
syn match       rstCitationLabel "\[[\'\w.-]\+\]_"

" directives
syn region      rstDirectiveBody matchgroup=rstDirective start="^\.\. 
[\'\w.-]\+::" end="[EMAIL PROTECTED]"

" substitutions
syn region      rstSubstitution matchgroup=rstDirective start="^\.\. 
|[\'\w.-]|\s[\'\w.-]\+::\s" end="[EMAIL PROTECTED]" [EMAIL PROTECTED]
syn match       rstSubstitutionLabel "|[\'\w.-]|"

" inline markup
syn match       rstInline       "\*\{1,2}\S\%([^*]*\S\)\=\*\{1,2}"
syn match       rstInline       "`\{1,2}\S\%([^`]*\S\)\=`\{1,2}"

" hyperlinks
syn region      rstHyperlinks   matchgroup=RstDirective start="^\.\. _[\'\w. 
-]\+:\s" end="[EMAIL PROTECTED]" [EMAIL PROTECTED]

syn match       rstHyperlinksLabel      "`\S\%(\([^`]\|\n\)*\S\)\=`__\=\>"
syn match       rstHyperlinksLabel      "\w\+__\=\>"

" internal targets
syn match       rstInternalTarget "_`\S\%(\([^`]\|\n\)*\S\)\=`"

" lists
syn match       rstListItem     "^:\%(\w\+\s*\)\+:"
syn match       rstListItem     "^\s*[-*+]\s\+"

syn sync minlines=50

" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_rst_syn_inits")
  if version < 508
    let did_rst_syn_inits = 1
    command -nargs=+ HiLink hi link <args>
  else
    command -nargs=+ HiLink hi def link <args>
  endif

  HiLink rstTodo Todo
  HiLink rstComment Comment
  HiLink rstDelimiter Delimiter
  HiLink rstBlock String
  HiLink rstDoctestBlock PreProc
  HiLink rstTableLines Delimiter
  HiLink rstSimpleTableLines rstTableLines
  HiLink rstFootnote String
  HiLink rstFootnoteLabel Identifier
  HiLink rstCitation String
  HiLink rstCitationLabel Identifier
  HiLink rstDirective Keyword
  HiLink rstDirectiveBody Type
  HiLink rstSubstitution String
  HiLink rstSubstitutionLabel Identifier
  HiLink rstHyperlinks String
  HiLink rstHyperlinksLabel Identifier
  HiLink rstListItem Identifier
  hi def rstInline term=italic cterm=italic gui=italic
  hi def rstInternalTarget term=italic cterm=italic gui=italic
  delcommand HiLink
endif

let b:current_syntax = "rst"

" vim: set sts=2 sw=2:

Attachment: pgpuT8TpbIUjV.pgp
Description: PGP signature

Reply via email to