diff options
author | Bram Moolenaar <Bram@vim.org> | 2006-04-17 22:14:47 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2006-04-17 22:14:47 +0000 |
commit | a93fa7ee7856b54d3778e613c7b7e4b76aaeb2af (patch) | |
tree | 4797f43c4e1694903d93da1b61ba972955cb6aad /runtime | |
parent | b21e5843e53d3582df5f521f57e7e52e83d51d10 (diff) |
updated for version 7.0e01v7.0e01
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/editing.txt | 4 | ||||
-rw-r--r-- | runtime/doc/tags | 2 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 5 | ||||
-rw-r--r-- | runtime/doc/version7.txt | 8 | ||||
-rw-r--r-- | runtime/lang/menu_fr_fr.latin1.vim | 32 | ||||
-rw-r--r-- | runtime/menu.vim | 8 | ||||
-rw-r--r-- | runtime/syntax/automake.vim | 17 | ||||
-rw-r--r-- | runtime/syntax/debchangelog.vim | 14 | ||||
-rw-r--r-- | runtime/syntax/doxygen.vim | 959 | ||||
-rw-r--r-- | runtime/syntax/muttrc.vim | 19 | ||||
-rw-r--r-- | runtime/syntax/php.vim | 18 | ||||
-rw-r--r-- | runtime/syntax/slrnrc.vim | 16 | ||||
-rw-r--r-- | runtime/syntax/stata.vim | 418 | ||||
-rw-r--r-- | runtime/syntax/tpp.vim | 27 | ||||
-rw-r--r-- | runtime/syntax/vim.vim | 8 |
15 files changed, 821 insertions, 734 deletions
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt index e45041222d..d65ece86c5 100644 --- a/runtime/doc/editing.txt +++ b/runtime/doc/editing.txt @@ -1,4 +1,4 @@ -*editing.txt* For Vim version 7.0e. Last change: 2006 Apr 06 +*editing.txt* For Vim version 7.0e. Last change: 2006 Apr 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1213,7 +1213,7 @@ also makes a difference for executing external commands, e.g. ":!ls". Changing directory fails when the current buffer is modified, the '.' flag is present in 'cpoptions' and "!" is not used in the command. - *:cd* *E472* + *:cd* *E747* *E472* :cd[!] On non-Unix systems: Print the current directory name. On Unix systems: Change the current directory to the home directory. Use |:pwd| to print the diff --git a/runtime/doc/tags b/runtime/doc/tags index 6b2b27eb60..a327261d90 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -3958,6 +3958,7 @@ E743 eval.txt /*E743* E744 netbeans.txt /*E744* E745 eval.txt /*E745* E746 eval.txt /*E746* +E747 editing.txt /*E747* E747 syntax.txt /*E747* E748 repeat.txt /*E748* E749 eval.txt /*E749* @@ -5615,6 +5616,7 @@ hebrew hebrew.txt /*hebrew* hebrew.txt hebrew.txt /*hebrew.txt* help various.txt /*help* help-context help.txt /*help-context* +help-tags tags 1 help-translated various.txt /*help-translated* help-xterm-window various.txt /*help-xterm-window* help.txt help.txt /*help.txt* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 0463dd61a9..599e3702b9 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0e. Last change: 2006 Apr 15 +*todo.txt* For Vim version 7.0e. Last change: 2006 Apr 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -862,6 +862,9 @@ I can't reproduce these (if you can, let me know how!): Problems that will (probably) not be solved: +- GTK: when using the popup menu with spelling suggestions and releasing the + right mouse button before the menu appears selecting an item with the + right mouse button has no effect. GTK does not produce an event for this. - xterm title: The following scenario may occur (esp. when running the Vim test script): Vim 1 sets the title to "file1", then restores the title to "xterm" with an ESC sequence when exiting. Vim 2 obtains the old title diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index 4cdd41f26f..6d0183d51b 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0e. Last change: 2006 Apr 16 +*version7.txt* For Vim version 7.0e. Last change: 2006 Apr 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2514,4 +2514,10 @@ Default color for MatchParen when 'background' is "dark" is now DarkCyan. When using ":vsp" or ":sp" the available space wasn't used equally between windows. (Servatius Brandt) +Expanding <cWORD> on a trailing blank resulted in the first word in the line +if 'encoding' is a multi-byte encoding. + +Spell checking: spellbadword() didn't see a missing capital in the first word +of a line. Popup menu now only suggest the capitalized word when appropriate. + vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/lang/menu_fr_fr.latin1.vim b/runtime/lang/menu_fr_fr.latin1.vim index efca71bee6..e4b1bb8fe7 100644 --- a/runtime/lang/menu_fr_fr.latin1.vim +++ b/runtime/lang/menu_fr_fr.latin1.vim @@ -1,7 +1,8 @@ " Menu Translations: Francais " Maintainer: Adrien Beau <version.francaise@free.fr> " First Version: Francois Thunus <thunus@systran.fr> -" Last Change: 2003 May 29 +" Last Modification: David Blanchet <david.blanchet@free.fr> +" Last Change: 2006 Apr 11 " Quit when menu translations have already been done. if exists("did_menu_trans") @@ -24,6 +25,7 @@ menutrans &Find\.\.\. Rec&hercher\.\.\. " -sep1- menutrans &Credits &Remerciements menutrans Co&pying &License +menutrans &Sponsor/Register Sponsor/&Enregistrement menutrans O&rphans &Orphelins " -sep2- menutrans &Version &Version @@ -36,6 +38,7 @@ menutrans &File &Fichier menutrans &Open\.\.\.<Tab>:e &Ouvrir\.\.\.<Tab>:e menutrans Sp&lit-Open\.\.\.<Tab>:sp Ouvrir\ à\ p&art\.\.\.<Tab>:sp +menutrans Open\ Tab\.\.\.<Tab>:tabnew Ouvrir\ dans\ un\ onglet\.\.\.<Tab>:tabnew menutrans &New<Tab>:enew &Nouveau<Tab>:enew menutrans &Close<Tab>:close &Fermer<Tab>:close " -SEP1- @@ -64,7 +67,7 @@ menutrans &Paste<Tab>"+gP C&oller<Tab>"+gP menutrans Put\ &Before<Tab>[p Placer\ a&vant<Tab>[p menutrans Put\ &After<Tab>]p Placer\ apr&ès<Tab>]p menutrans &Delete<Tab>x Effa&cer<Tab>x -menutrans &Select\ all<Tab>ggVG &Sélectionner\ tout<Tab>ggVG +menutrans &Select\ All<Tab>ggVG &Sélectionner\ tout<Tab>ggVG " -SEP2- menutrans &Find\.\.\. Rec&hercher\.\.\. menutrans Find\ and\ Rep&lace\.\.\. Re&mplacer\.\.\. @@ -133,6 +136,26 @@ menutrans Jump\ &back<Tab>^T Repartir\ en\ arri&ère<Tab>^T menutrans Build\ &Tags\ File &Générer\ fichier\ d'étiquettes " -SEP1- +menutrans &Spelling &Orthographe +menutrans &Spell\ Check\ On &Activer +menutrans Spell\ Check\ &Off &Désactiver +menutrans To\ &Next\ error<Tab>]s À\ l'erreur\ &suivante<Tab>]s +menutrans To\ &Previous\ error<Tab>[s À\ l'erreur\ &précédente<Tab>[s +menutrans Suggest\ &Corrections<Tab>z= Suggérer\ &correction<Tab>z= +menutrans &Repeat\ correction<Tab>:spellrepall &Reporter\ la\ correction<Tab>:spellrepall + +an 40.335.205 &Tools.&Spelling.Français\ (fr) :set spl=fr spell<CR> +menutrans Set\ language\ to\ "en" Anglais +menutrans Set\ language\ to\ "en_au" Anglais\ (en_au) +menutrans Set\ language\ to\ "en_ca" Anglais\ (en_ca) +menutrans Set\ language\ to\ "en_gb" Anglais\ (en_gb) +menutrans Set\ language\ to\ "en_nz" Anglais\ (en_nz) +menutrans Set\ language\ to\ "en_us" Anglais\ (en_us) + +menutrans &Find\ More\ Languages &Trouver\ d'autres\ langues + + + menutrans &Folding &Replis menutrans &Enable/Disable\ folds<Tab>zi &Replis\ on/off<Tab>zi @@ -185,7 +208,7 @@ menutrans &Close<Tab>:cclose &Fermer<Tab>:cclose menutrans &Convert\ to\ HEX<Tab>:%!xxd Convertir\ en\ he&xa<Tab>:%!xxd menutrans Conve&rt\ back<Tab>:%!xxd\ -r Décon&vertir<Tab>:%!xxd\ -r -menutrans &Set\ Compiler Type\ de\ &compilateur +menutrans Se&T\ Compiler &Type\ de\ compilateur menutrans &Buffers &Tampons @@ -327,6 +350,7 @@ endfun menutrans &Syntax &Syntaxe +menutrans &Off Désactiver menutrans &Manual &Manuelle menutrans A&utomatic &Automatique menutrans on/off\ for\ &This\ file On/off\ pour\ &ce\ fichier @@ -440,5 +464,5 @@ menutrans Set\ '&filetype'\ too Changer\ '&filetype'\ aussi menutrans &Off &Off " -SEP3- menutrans Co&lor\ test Tester\ les\ co&uleurs -menutrans &Highlight\ test Tester\ les\ g&roupes\ de\ surlignage +menutrans &Highlight\ test Tester\ les\ g&roupes\ de\ surbrillance menutrans &Convert\ to\ HTML Con&vertir\ en\ HTML diff --git a/runtime/menu.vim b/runtime/menu.vim index bf95d61a93..d2b8b3d4fd 100644 --- a/runtime/menu.vim +++ b/runtime/menu.vim @@ -2,7 +2,7 @@ " You can also use this as a start for your own set of menus. " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2006 Apr 16 +" Last Change: 2006 Apr 17 " Note that ":an" (short for ":anoremenu") is often used to make a menu work " in all modes and avoid side effects from mappings defined by the user. @@ -896,7 +896,11 @@ if has("spell") call cursor(0, curcol) " put the cursor back where it was endif if w != '' - let s:suglist = spellsuggest(w, 10) + if a == 'caps' + let s:suglist = [substitute(w, '.*', '\u&', '')] + else + let s:suglist = spellsuggest(w, 10) + endif if len(s:suglist) <= 0 call cursor(0, curcol) " put the cursor back where it was else diff --git a/runtime/syntax/automake.vim b/runtime/syntax/automake.vim index ea09927e20..d0877a5bd9 100644 --- a/runtime/syntax/automake.vim +++ b/runtime/syntax/automake.vim @@ -1,9 +1,16 @@ " Vim syntax file " Language: automake Makefile.am -" Maintainer: John Williams <jrw@pobox.com> -" Last change: 2001 May 09 - - +" Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> +" Former Maintainer: John Williams <jrw@pobox.com> +" Last Change: $LastChangedDate: 2006-04-16 22:06:40 -0400 (dom, 16 apr 2006) $ +" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/automake.vim?op=file&rev=0&sc=0 +" +" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain +" it only because patches have been submitted for it by Debian users and the +" former maintainer was MIA (Missing In Action), taking over its +" maintenance was thus the only way to include those patches. +" If you care about this file, and have time to maintain it please do so! +" " This script adds support for automake's Makefile.am format. It highlights " Makefile variables significant to automake as well as highlighting " autoconf-style @variable@ substitutions . Subsitutions are marked as errors @@ -20,7 +27,7 @@ endif syn match automakePrimary "^[A-Za-z0-9_]\+\(_PROGRAMS\|LIBRARIES\|_LIST\|_SCRIPTS\|_DATA\|_HEADERS\|_MANS\|_TEXINFOS\|_JAVA\|_LTLIBRARIES\)\s*="me=e-1 syn match automakePrimary "^TESTS\s*="me=e-1 -syn match automakeSecondary "^[A-Za-z0-9_]\+\(_SOURCES\|_LDADD\|_LIBADD\|_LDFLAGS\|_DEPENDENCIES\)\s*="me=e-1 +syn match automakeSecondary "^[A-Za-z0-9_]\+\(_SOURCES\|_LDADD\|_LIBADD\|_LDFLAGS\|_DEPENDENCIES\|_CPPFLAGS\)\s*="me=e-1 syn match automakeSecondary "^OMIT_DEPENDENCIES\s*="me=e-1 syn match automakeExtra "^EXTRA_[A-Za-z0-9_]\+\s*="me=e-1 syn match automakeOptions "^\(AUTOMAKE_OPTIONS\|ETAGS_ARGS\|TAGS_DEPENDENCIES\)\s*="me=e-1 diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim index 577b48d3eb..24a9c96381 100644 --- a/runtime/syntax/debchangelog.vim +++ b/runtime/syntax/debchangelog.vim @@ -1,7 +1,9 @@ " Vim syntax file -" Language: Debian changelog files -" Maintainer: Wichert Akkerman <wakkerma@debian.org> -" Last Change: 30 April 2001 +" Language: Debian changelog files +" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> +" Former Maintainer: Wichert Akkerman <wakkerma@debian.org> +" Last Change: $LastChangedDate: 2006-04-16 21:50:31 -0400 (dom, 16 apr 2006) $ +" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/debchangelog.vim?op=file&rev=0&sc=0 " Standard syntax initialization if version < 600 @@ -15,10 +17,10 @@ syn case ignore " Define some common expressions we can use later on syn match debchangelogName contained "^[[:alpha:]][[:alnum:].+-]\+ " -syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\)" -syn match debchangelogTarget contained "\( stable\| frozen\| unstable\| experimental\)\+" +syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\=" +syn match debchangelogTarget contained "\( stable\| frozen\| unstable\| testing-proposed-updates\| experimental\| sarge-backports\| sarge-volatile\| stable-security\| testing-security\)\+" syn match debchangelogVersion contained "(.\{-})" -syn match debchangelogCloses contained "closes:\s*\(bug\)\=#\s\=\d\+\(,\s*\(bug\)\=#\s\=\d\+\)*" +syn match debchangelogCloses contained "closes:\s*\(bug\)\=#\=\s\=\d\+\(,\s*\(bug\)\=#\=\s\=\d\+\)*" syn match debchangelogEmail contained "[_=[:alnum:].+-]\+@[[:alnum:]./\-]\+" syn match debchangelogEmail contained "<.\{-}>" diff --git a/runtime/syntax/doxygen.vim b/runtime/syntax/doxygen.vim index bc04ae933b..4ae3a93b63 100644 --- a/runtime/syntax/doxygen.vim +++ b/runtime/syntax/doxygen.vim @@ -48,520 +48,517 @@ if exists('b:current_syntax') && b:current_syntax =~ 'doxygen' && !exists('doxyg endif let s:cpo_save = &cpo -set cpo&vim - -" Start of Doxygen syntax hilighting: -" - -" C/C++ Style line comments -syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO keepend -syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenStartL keepend skipwhite skipnl nextgroup=doxygenComment2 -syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL keepend skipwhite skipnl -syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial - -" Single line brief followed by multiline comment. -syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend -" This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. -syn match doxygenSyncStart2 +[^*/]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenSkipComment,doxygenStartSkip2 skipwhite skipnl - -" Skip empty lines at the start for when comments start on the 2nd/3rd line. -syn match doxygenStartSkip2 +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkip skipwhite skipnl -syn match doxygenStartSkip2 +^\s*\*$+ contained nextgroup=doxygenBody,doxygenStartSpecial,,doxygenStartSkip skipwhite skipnl -syn match doxygenStart2 +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenStartSkip2 skipwhite skipnl - -" Match the Starting pattern (effectively creating the start of a BNF) -if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief - syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl -else - syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl -endif -syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial skipwhite - -" This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. -syn match doxygenSyncStart +\ze[^*/]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl +try + set cpo&vim + + " Start of Doxygen syntax hilighting: + " + + " C/C++ Style line comments + syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO keepend + syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenStartL keepend skipwhite skipnl nextgroup=doxygenComment2 + syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL keepend skipwhite skipnl + syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial + + " Single line brief followed by multiline comment. + syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend + " This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. + syn match doxygenSyncStart2 +[^*/]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenSkipComment,doxygenStartSkip2 skipwhite skipnl + + " Skip empty lines at the start for when comments start on the 2nd/3rd line. + syn match doxygenStartSkip2 +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkip skipwhite skipnl + syn match doxygenStartSkip2 +^\s*\*$+ contained nextgroup=doxygenBody,doxygenStartSpecial,,doxygenStartSkip skipwhite skipnl + syn match doxygenStart2 +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenStartSkip2 skipwhite skipnl + + " Match the Starting pattern (effectively creating the start of a BNF) + if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief + syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl + else + syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl + endif + syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial skipwhite -" Match the first sentence as a brief comment -if ! exists('g:doxygen_end_punctuation') - let g:doxygen_end_punctuation='[.]' -endif -exe 'syn region doxygenBrief contained start=+[\\@]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]+ start=+\(^\s*\)\@<!\*/\@!+ start=+\<\k+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'+ end=+\(\s*\(\n\s*\*\=\s*\)[@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\@=+ contains=doxygenSmallSpecial,doxygenContinueComment,doxygenBriefEndComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenOtherLink,doxygenHyperLink,doxygenHashLink skipnl nextgroup=doxygenBody' + " This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. + syn match doxygenSyncStart +\ze[^*/]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl -syn match doxygenBriefEndComment +\*/+ contained + " Match the first sentence as a brief comment + if ! exists('g:doxygen_end_punctuation') + let g:doxygen_end_punctuation='[.]' + endif + exe 'syn region doxygenBrief contained start=+[\\@]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]+ start=+\(^\s*\)\@<!\*/\@!+ start=+\<\k+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'+ end=+\(\s*\(\n\s*\*\=\s*\)[@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\@=+ contains=doxygenSmallSpecial,doxygenContinueComment,doxygenBriefEndComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenOtherLink,doxygenHyperLink,doxygenHashLink skipnl nextgroup=doxygenBody' -exe 'syn region doxygenBriefL start=+@\k\@!\|[\\@]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@]+ start=+\<+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'\|$+ contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup keepend' + syn match doxygenBriefEndComment +\*/+ contained -syn region doxygenBriefLine contained start=+\<\k+ end=+\(\n\s*\*\=\s*\([@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ contains=doxygenContinueComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenOtherLink,doxygenHyperLink,doxygenHashLink skipwhite keepend + exe 'syn region doxygenBriefL start=+@\k\@!\|[\\@]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@]+ start=+\<+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'\|$+ contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup keepend' -" Match a '<' for applying a comment to the previous element. -syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenSpecial,doxygenStartSkip skipwhite -syn match doxygenPrevL +<+ contained nextgroup=doxygenBriefL,doxygenSpecial skipwhite + syn region doxygenBriefLine contained start=+\<\k+ end=+\(\n\s*\*\=\s*\([@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ contains=doxygenContinueComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenOtherLink,doxygenHyperLink,doxygenHashLink skipwhite keepend -" These are anti-doxygen comments. If there are more than two asterisks or 3 '/'s -" then turn the comments back into normal C comments. -syn region cComment start="/\*\*\*" end="\*/" contains=@cCommentGroup,cCommentString,cCharacter,cNumbersCom,cSpaceError -syn region cCommentL start="////" skip="\\$" end="$" contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError + " Match a '<' for applying a comment to the previous element. + syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenSpecial,doxygenStartSkip skipwhite + syn match doxygenPrevL +<+ contained nextgroup=doxygenBriefL,doxygenSpecial skipwhite -" Special commands at the start of the area: starting with '@' or '\' -syn region doxygenStartSpecial contained start=+[@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=doxygenSpecial nextgroup=doxygenSkipComment skipnl keepend -syn match doxygenSkipComment contained +^\s*\*/\@!+ nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenPage skipwhite + " These are anti-doxygen comments. If there are more than two asterisks or 3 '/'s + " then turn the comments back into normal C comments. + syn region cComment start="/\*\*\*" end="\*/" contains=@cCommentGroup,cCommentString,cCharacter,cNumbersCom,cSpaceError + syn region cCommentL start="////" skip="\\$" end="$" contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError -"syn region doxygenBodyBit contained start=+$+ + " Special commands at the start of the area: starting with '@' or '\' + syn region doxygenStartSpecial contained start=+[@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=doxygenSpecial nextgroup=doxygenSkipComment skipnl keepend + syn match doxygenSkipComment contained +^\s*\*/\@!+ nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenPage skipwhite -" The main body of a doxygen comment. -syn region doxygenBody contained start=+.\|$+ matchgroup=doxygenEndComment end=+\*/+re=e-2,me=e-2 contains=doxygenContinueComment,doxygenTODO,doxygenSpecial,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup + "syn region doxygenBodyBit contained start=+$+ -" These allow the skipping of comment continuation '*' characters. -syn match doxygenContinueComment contained +^\s*\*/\@!\s*+ + " The main body of a doxygen comment. + syn region doxygenBody contained start=+.\|$+ matchgroup=doxygenEndComment end=+\*/+re=e-2,me=e-2 contains=doxygenContinueComment,doxygenTODO,doxygenSpecial,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup -" Catch a Brief comment without punctuation - flag it as an error but -" make sure the end comment is picked up also. -syn match doxygenErrorComment contained +\*/+ + " These allow the skipping of comment continuation '*' characters. + syn match doxygenContinueComment contained +^\s*\*/\@!\s*+ + " Catch a Brief comment without punctuation - flag it as an error but + " make sure the end comment is picked up also. + syn match doxygenErrorComment contained +\*/+ -" Skip empty lines at the start for when comments start on the 2nd/3rd line. -if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief - syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl - syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl -else - syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl - syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl -endif -" Match an [@\]brief so that it moves to body-mode. -" -" -" syn match doxygenBriefLine contained -syn match doxygenBriefSpecial contained +[@\\]+ nextgroup=doxygenBriefWord skipwhite -syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ end=+\(\n\s*\*\=\s*\([@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained + " Skip empty lines at the start for when comments start on the 2nd/3rd line. + if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief + syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl + syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl + else + syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl + syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl + endif + " Match an [@\]brief so that it moves to body-mode. + " + " + " syn match doxygenBriefLine contained + syn match doxygenBriefSpecial contained +[@\\]+ nextgroup=doxygenBriefWord skipwhite + syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ end=+\(\n\s*\*\=\s*\([@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained -" Create the single word matching special identifiers. -fun! s:DxyCreateSmallSpecial( kword, name ) + " Create the single word matching special identifiers. - let mx='[-:0-9A-Za-z_%=&+*/!~>|]\@<!\([-0-9A-Za-z_%=+*/!~>|#]\+[-0-9A-Za-z_%=+*/!~>|]\@!\|\\[\\<>&.]@\|[.,][0-9a-zA-Z_]\@=\|::\|([^)]*)\|&[0-9a-zA-Z]\{2,7};\)\+' - exe 'syn region doxygenSpecial'.a:name.'Word contained start=+'.a:kword.'+ end=+\(\_s\+'.mx.'\)\@<=[-a-zA-Z_0-9+*/^%|~!=&\\]\@!+ skipwhite contains=doxygenContinueComment,doxygen'.a:name.'Word' - exe 'syn match doxygen'.a:name.'Word contained "\_s\@<='.mx.'" contains=doxygenHtmlSpecial keepend' -endfun -call s:DxyCreateSmallSpecial('p', 'Code') -call s:DxyCreateSmallSpecial('c', 'Code') -call s:DxyCreateSmallSpecial('b', 'Bold') -call s:DxyCreateSmallSpecial('e', 'Emphasised') -call s:DxyCreateSmallSpecial('em', 'Emphasised') -call s:DxyCreateSmallSpecial('a', 'Argument') -call s:DxyCreateSmallSpecial('ref', 'Ref') -delfun s:DxyCreateSmallSpecial + fun! s:DxyCreateSmallSpecial( kword, name ) -syn match doxygenSmallSpecial contained +[@\\]\(\<[pcbea]\>\|\<em\>\|\<ref\>\|\<link\>\|f\$\|[$\\&<>#]\)\@=+ nextgroup=doxygenOtherLink,doxygenHyperLink,doxygenHashLink,doxygenFormula,doxygenSymbol,doxygenSpecial.*Word + let mx='[-:0-9A-Za-z_%=&+*/!~>|]\@<!\([-0-9A-Za-z_%=+*/!~>|#]\+[-0-9A-Za-z_%=+*/!~>|]\@!\|\\[\\<>&.]@\|[.,][0-9a-zA-Z_]\@=\|::\|([^)]*)\|&[0-9a-zA-Z]\{2,7};\)\+' + exe 'syn region doxygenSpecial'.a:name.'Word contained start=+'.a:kword.'+ end=+\(\_s\+'.mx.'\)\@<=[-a-zA-Z_0-9+*/^%|~!=&\\]\@!+ skipwhite contains=doxygenContinueComment,doxygen'.a:name.'Word' + exe 'syn match doxygen'.a:name.'Word contained "\_s\@<='.mx.'" contains=doxygenHtmlSpecial keepend' + endfun + call s:DxyCreateSmallSpecial('p', 'Code') + call s:DxyCreateSmallSpecial('c', 'Code') + call s:DxyCreateSmallSpecial('b', 'Bold') + call s:DxyCreateSmallSpecial('e', 'Emphasised') + call s:DxyCreateSmallSpecial('em', 'Emphasised') + call s:DxyCreateSmallSpecial('a', 'Argument') + call s:DxyCreateSmallSpecial('ref', 'Ref') + delfun s:DxyCreateSmallSpecial + + syn match doxygenSmallSpecial contained +[@\\]\(\<[pcbea]\>\|\<em\>\|\<ref\>\|\<link\>\|f\$\|[$\\&<>#]\)\@=+ nextgroup=doxygenOtherLink,doxygenHyperLink,doxygenHashLink,doxygenFormula,doxygenSymbol,doxygenSpecial.*Word + + " Now for special characters + syn match doxygenSpecial contained +[@\\]\(\<[pcbea]\>\|\<em\>\|\<ref\|\<link\>\>\|\<f\$\|[$\\&<>#]\)\@!+ nextgroup=doxygenParam,doxygenRetval,doxygenBriefWord,doxygenBold,doxygenBOther,doxygenOther,doxygenOtherTODO,doxygenOtherWARN,doxygenOtherBUG,doxygenPage,doxygenGroupDefine,doxygenCodeRegion,doxygenVerbatimRegion,doxygenDotRegion + " doxygenOtherLink,doxygenSymbol,doxygenFormula,doxygenErrorSpecial,doxygenSpecial.*Word + " + syn match doxygenGroupDefine contained +@\@<=[{}]+ + syn match doxygenGroupDefineSpecial contained +@\ze[{}]+ + + syn match doxygenErrorSpecial contained +\s+ + + " Match Parmaters and retvals (hilighting the first word as special). + syn match doxygenParamDirection contained +\[\(\<in\>\|\<out\>\|,\)\+\]+ nextgroup=doxygenParamName skipwhite + syn keyword doxygenParam contained param nextgroup=doxygenParamName,doxygenParamDirection skipwhite + syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite + syn keyword doxygenRetval contained retval throw exception nextgroup=doxygenParamName skipwhite + + " Match one line identifiers. + syn keyword doxygenOther contained addindex anchor + \ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer + \ example htmlonly image include ingroup internal latexonly line + \ overload relates relatesalso sa skip skipline + \ until verbinclude version addtogroup htmlinclude copydoc dotfile + \ xmlonly endxmlonly + \ nextgroup=doxygenSpecialOnelineDesc + + syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\<code\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endcode\>+ contains=doxygenCodeRegionSpecial,doxygenContinueComment,doxygenErrorComment + syn match doxygenCodeRegionSpecial contained +[\\@]\(endcode\>\)\@=+ + + syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\<verbatim\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endverbatim\>+ contains=doxygenVerbatimRegionSpecial,doxygenContinueComment,doxygenErrorComment + syn match doxygenVerbatimRegionSpecial contained +[\\@]\(endverbatim\>\)\@=+ + + let b:doxygen_syntax_save=b:current_syntax + unlet b:current_syntax + syn include @Dotx syntax/dot.vim + let b:current_syntax=b:doxygen_syntax_save + unlet b:doxygen_syntax_save + syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\<dot\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<enddot\>+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueComment,@Dotx + syn match doxygenDotRegionSpecial contained +[\\@]\(enddot\>\)\@=+ + + " Match single line identifiers. + syn keyword doxygenBOther contained class enum file fn mainpage interface + \ namespace struct typedef union var def name + \ nextgroup=doxygenSpecialTypeOnelineDesc + + syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine + syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc + + syn keyword doxygenOther contained arg author date deprecated li return see invariant note post pre remarks since test nextgroup=doxygenSpecialMultilineDesc + syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc + syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc + syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc + + " Handle \link, \endlink, hilighting the link-to and the link text bits separately. + syn region doxygenOtherLink matchgroup=doxygenOther start=+link+ end=+[\@]\@<=endlink\>+ contained contains=doxygenLinkWord,doxygenContinueComment,doxygenLinkError,doxygenEndlinkSpecial + syn match doxygenEndlinkSpecial contained +[\\@]\zeendlink\>+ + + syn match doxygenLinkWord "[_a-zA-Z:#()][_a-z0-9A-Z:#()]*\>" contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment + syn match doxygenLinkRest +[^*@\\]\|\*/\@!\|[@\\]\(endlink\>\)\@!+ contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment + syn match doxygenContinueLinkComment contained +^\s*\*\=[^/]+me=e-1 nextgroup=doxygenLinkRest + syn match doxygenLinkError "\*/" contained + " #Link hilighting. + syn match doxygenHashLink /\([a-zA-Z_][0-9a-zA-Z_]*\)\?#\(\.[0-9a-zA-Z_]\@=\|[a-zA-Z0-9_]\+\|::\|()\)\+/ contained contains=doxygenHashSpecial + syn match doxygenHashSpecial /#/ contained + syn match doxygenHyperLink /\(\s\|^\s*\*\?\)\@<=\(http\|https\|ftp\):\/\/[-0-9a-zA-Z_?&=+#%/.!':;@]\+/ contained + + " Handle \page. This does not use doxygenBrief. + syn match doxygenPage "[\\@]page\>"me=s+1 contained skipwhite nextgroup=doxygenPagePage + syn keyword doxygenPagePage page contained skipwhite nextgroup=doxygenPageIdent + syn region doxygenPageDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenBody + syn match doxygenPageIdent "\<[a-zA-Z0-9]\+\>" contained nextgroup=doxygenPageDesc + + " Handle section + syn keyword doxygenOther defgroup section subsection subsubsection weakgroup contained skipwhite nextgroup=doxygenSpecialIdent + syn region doxygenSpecialSectionDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenContinueComment + syn match doxygenSpecialIdent "\<[a-zA-Z0-9]\+\>" contained nextgroup=doxygenSpecialSectionDesc + + " Does the one-line description for the one-line type identifiers. + syn region doxygenSpecialTypeOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend + syn region doxygenSpecialOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend + + " Handle the multiline description for the multiline type identifiers. + " Continue until an 'empty' line (can contain a '*' continuation) or until the + " next whole-line @ command \ command. + syn region doxygenSpecialMultilineDesc start=+.\++ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([pcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contained contains=doxygenSpecialContinueComment,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup skipwhite keepend + syn match doxygenSpecialContinueComment contained +^\s*\*/\@!\s*+ nextgroup=doxygenSpecial skipwhite + + " Handle special cases 'bold' and 'group' + syn keyword doxygenBold contained bold nextgroup=doxygenSpecialHeading + syn keyword doxygenBriefWord contained brief nextgroup=doxygenBriefLine skipwhite + syn match doxygenSpecialHeading +.\++ contained skipwhite + syn keyword doxygenGroup contained group nextgroup=doxygenGroupName skipwhite + syn keyword doxygenGroupName contained +\k\++ nextgroup=doxygenSpecialOnelineDesc skipwhite + + " Handle special symbol identifiers @$, @\, @$ etc + syn match doxygenSymbol contained +[$\\&<>#]+ + + " Simplistic handling of formula regions + syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\$+ end=+[@\\]f\$+ contains=doxygenFormulaSpecial,doxygenFormulaOperator + syn match doxygenFormulaSpecial contained +[@\\]\(f[^$]\|[^f]\)+me=s+1 nextgroup=doxygenFormulaKeyword,doxygenFormulaEscaped + syn match doxygenFormulaEscaped contained "." + syn match doxygenFormulaKeyword contained "[a-z]\+" + syn match doxygenFormulaOperator contained +[_^]+ + + syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\[+ end=+[@\\]f]+ contains=doxygenFormulaSpecial,doxygenFormulaOperator,doxygenAtom + syn region doxygenAtom contained transparent matchgroup=doxygenFormulaOperator start=+{+ end=+}+ contains=doxygenAtom,doxygenFormulaSpecial,doxygenFormulaOperator + + " Add TODO hilighting. + syn keyword doxygenTODO contained TODO README XXX FIXME + + " Supported HTML subset. Not perfect, but okay. + syn case ignore + syn region doxygenHtmlTag contained matchgroup=doxygenHtmlCh start=+\v\</=\ze([biuap]|em|strong|img|br|center|code|dfn|d[ldt]|hr|h[0-3]|li|[ou]l|pre|small|sub|sup|table|tt|var|caption|src|alt|longdesc|name|height|width|usemap|ismap|href|type)>+ skip=+\\<\|\<\k\+=\("[^"]*"\|'[^']*\)+ end=+>+ contains=doxygenHtmlCmd,doxygenContinueComment,doxygenHtmlVar + syn keyword doxygenHtmlCmd contained b i em strong u img a br p center code dfn dl dd dt hr h1 h2 h3 li ol ul pre small sub sup table tt var caption nextgroup=doxygenHtmlVar skipwhite + syn keyword doxygenHtmlVar contained src alt longdesc name height width usemap ismap href type nextgroup=doxygenHtmlEqu skipwhite + syn match doxygenHtmlEqu contained +=+ nextgroup=doxygenHtmlExpr skipwhite + syn match doxygenHtmlExpr contained +"\(\\.\|[^"]\)*"\|'\(\\.\|[^']\)*'+ nextgroup=doxygenHtmlVar skipwhite + syn case match + syn match doxygenHtmlSpecial contained "&\(copy\|quot\|[AEIOUYaeiouy]uml\|[AEIOUYaeiouy]acute\|[AEIOUaeiouy]grave\|[AEIOUaeiouy]circ\|[ANOano]tilde\|szlig\|[Aa]ring\|nbsp\|gt\|lt\|amp\);" + + syn cluster doxygenHtmlGroup contains=doxygenHtmlCode,doxygenHtmlBold,doxygenHtmlUnderline,doxygenHtmlItalic,doxygenHtmlSpecial,doxygenHtmlTag,doxygenHtmlLink + + syn cluster doxygenHtmlTop contains=@Spell,doxygenHtmlSpecial,doxygenHtmlTag,doxygenContinueComment + " Html Support + syn region doxygenHtmlLink contained start=+<[aA]\>\s*\(\n\s*\*\s*\)\=\(\(name\|href\)=\("[^"]*"\|'[^']*'\)\)\=\s*>+ end=+</[aA]>+me=e-4 contains=@doxygenHtmlTop + hi link doxygenHtmlLink Underlined + |