-*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
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
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*
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*
-*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
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
-*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
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:
" 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")
" -sep1-
menutrans &Credits &Remerciements
menutrans Co&pying &License
+menutrans &Sponsor/Register Sponsor/&Enregistrement
menutrans O&rphans &Orphelins
" -sep2-
menutrans &Version &Version
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-
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\.\.\.
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
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
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
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
" 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.
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
" 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
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
" 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
" 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 "<.\{-}>"
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
+
+ syn region doxygenHtmlBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic
+ syn region doxygenHtmlBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic
+ syn region doxygenHtmlBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic
+ syn region doxygenHtmlBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline
+ syn region doxygenHtmlBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline
+ syn region doxygenHtmlBoldUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop
+ syn region doxygenHtmlBoldUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop
+ syn region doxygenHtmlBoldItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic
+
+ syn region doxygenHtmlUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBold,doxygenHtmlUnderlineItalic
+ syn region doxygenHtmlUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic
+ syn region doxygenHtmlUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic
+ syn region doxygenHtmlUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,htmUnderlineItalicBold
+ syn region doxygenHtmlUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,htmUnderlineItalicBold
+ syn region doxygenHtmlUnderlineItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop
+ syn region doxygenHtmlUnderlineItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop
+ syn region doxygenHtmlUnderlineBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop
+ syn region doxygenHtmlUnderlineBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop
+
+ syn region doxygenHtmlItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBold,doxygenHtmlItalicUnderline
+ syn region doxygenHtmlItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop
+ syn region doxygenHtmlItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline
+ syn region doxygenHtmlItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline
+ syn region doxygenHtmlItalicBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop
+ syn region doxygenHtmlItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicUnderlineBold
+ syn region doxygenHtmlItalicUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop
+ syn region doxygenHtmlItalicUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop
+
+ syn region doxygenHtmlCode contained start="\c<code\>" end="\c</code>"me=e-7 contains=@doxygenHtmlTop
+
+ " Prevent the doxygen contained matches from leaking into the c groups.
+ syn cluster cParenGroup add=doxygen.*
+ syn cluster cParenGroup remove=doxygenComment,doxygenCommentL
+ syn cluster cPreProcGroup add=doxygen.*
+ syn cluster cMultiGroup add=doxygen.*
+ syn cluster rcParenGroup add=doxygen.*
+ syn cluster rcParenGroup remove=doxygenComment,doxygenCommentL
+ syn cluster rcGroup add=doxygen.*
+
+ let s:my_syncolor=0
+ if !exists(':SynColor')
+ command -nargs=+ SynColor hi def <args>
+ let s:my_syncolor=1
+ endif
-" 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
-
-syn region doxygenHtmlBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic
-syn region doxygenHtmlBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic
-syn region doxygenHtmlBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic
-syn region doxygenHtmlBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline
-syn region doxygenHtmlBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline
-syn region doxygenHtmlBoldUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop
-syn region doxygenHtmlBoldUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop
-syn region doxygenHtmlBoldItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic
-
-syn region doxygenHtmlUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBold,doxygenHtmlUnderlineItalic
-syn region doxygenHtmlUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic
-syn region doxygenHtmlUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic
-syn region doxygenHtmlUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,htmUnderlineItalicBold
-syn region doxygenHtmlUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,htmUnderlineItalicBold
-syn region doxygenHtmlUnderlineItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop
-syn region doxygenHtmlUnderlineItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop
-syn region doxygenHtmlUnderlineBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop
-syn region doxygenHtmlUnderlineBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop
-
-syn region doxygenHtmlItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBold,doxygenHtmlItalicUnderline
-syn region doxygenHtmlItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop
-syn region doxygenHtmlItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline
-syn region doxygenHtmlItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline
-syn region doxygenHtmlItalicBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop
-syn region doxygenHtmlItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicUnderlineBold
-syn region doxygenHtmlItalicUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop
-syn region doxygenHtmlItalicUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop
-
-syn region doxygenHtmlCode contained start="\c<code\>" end="\c</code>"me=e-7 contains=@doxygenHtmlTop
-
-" Prevent the doxygen contained matches from leaking into the c groups.
-syn cluster cParenGroup add=doxygen.*
-syn cluster cParenGroup remove=doxygenComment,doxygenCommentL
-syn cluster cPreProcGroup add=doxygen.*
-syn cluster cMultiGroup add=doxygen.*
-syn cluster rcParenGroup add=doxygen.*
-syn cluster rcParenGroup remove=doxygenComment,doxygenCommentL
-syn cluster rcGroup add=doxygen.*
-
-" Trick to force special doxygen hilighting if the background changes (need to
-" syn clear first)
-if !exists(':SynColor')
- if exists("did_doxygen_syntax_inits")
- if did_doxygen_syntax_inits != &background && synIDattr(highlightID('doxygen_Dummy'), 'fg', 'gui')==''
- command -nargs=+ SynColor hi <args>
- unlet did_doxygen_syntax_inits
- endif
- else
- command -nargs=+ SynColor hi def <args>
+ let s:my_synlink=0
+ if !exists(':SynLink')
+ command -nargs=+ SynLink hi def link <args>
+ let s:my_synlink=1
endif
-endif
-if !exists("did_doxygen_syntax_inits")
- command -nargs=+ SynLink hi def link <args>
- let did_doxygen_syntax_inits = &background
- hi doxygen_Dummy guifg=black
-
- fun! s:Doxygen_Hilights_Base()
- SynLink doxygenHtmlSpecial Special
- SynLink doxygenHtmlVar Type
- SynLink doxygenHtmlExpr String
-
- SynLink doxygenSmallSpecial SpecialChar
-
- SynLink doxygenSpecialCodeWord doxygenSmallSpecial
- SynLink doxygenSpecialBoldWord doxygenSmallSpecial
- SynLink doxygenSpecialEmphasisedWord doxygenSmallSpecial
- SynLink doxygenSpecialArgumentWord doxygenSmallSpecial
-
- " SynColor doxygenFormulaKeyword cterm=bold ctermfg=DarkMagenta guifg=DarkMagenta gui=bold
- SynLink doxygenFormulaKeyword Keyword
- "SynColor doxygenFormulaEscaped ctermfg=DarkMagenta guifg=DarkMagenta gui=bold
- SynLink doxygenFormulaEscaped Special
- SynLink doxygenFormulaOperator Operator
- SynLink doxygenFormula Statement
- SynLink doxygenSymbol Constant
- SynLink doxygenSpecial Special
- SynLink doxygenFormulaSpecial Special
- "SynColor doxygenFormulaSpecial ctermfg=DarkBlue guifg=DarkBlue
- endfun
- call s:Doxygen_Hilights_Base()
-
- fun! s:Doxygen_Hilights()
- " Pick a sensible default for 'codeword'.
- let font=''
- if exists('g:doxygen_codeword_font')
- if g:doxygen_codeword_font !~ '\<\k\+='
- let font='font='.g:doxygen_codeword_font
+ try
+ "let did_doxygen_syntax_inits = &background
+ hi doxygen_Dummy guifg=black
+
+ fun! s:Doxygen_Hilights_Base()
+ SynLink doxygenHtmlSpecial Special
+ SynLink doxygenHtmlVar Type
+ SynLink doxygenHtmlExpr String
+
+ SynLink doxygenSmallSpecial SpecialChar
+
+ SynLink doxygenSpecialCodeWord doxygenSmallSpecial
+ SynLink doxygenSpecialBoldWord doxygenSmallSpecial
+ SynLink doxygenSpecialEmphasisedWord doxygenSmallSpecial
+ SynLink doxygenSpecialArgumentWord doxygenSmallSpecial
+
+ " SynColor doxygenFormulaKeyword cterm=bold ctermfg=DarkMagenta guifg=DarkMagenta gui=bold
+ SynLink doxygenFormulaKeyword Keyword
+ "SynColor doxygenFormulaEscaped ctermfg=DarkMagenta guifg=DarkMagenta gui=bold
+ SynLink doxygenFormulaEscaped Special
+ SynLink doxygenFormulaOperator Operator
+ SynLink doxygenFormula Statement
+ SynLink doxygenSymbol Constant
+ SynLink doxygenSpecial Special
+ SynLink doxygenFormulaSpecial Special
+ "SynColor doxygenFormulaSpecial ctermfg=DarkBlue guifg=DarkBlue
+ endfun
+ call s:Doxygen_Hilights_Base()
+
+ fun! s:Doxygen_Hilights()
+ " Pick a sensible default for 'codeword'.
+ let font=''
+ if exists('g:doxygen_codeword_font')
+ if g:doxygen_codeword_font !~ '\<\k\+='
+ let font='font='.g:doxygen_codeword_font
+ else
+ let font=g:doxygen_codeword_font
+ endif
else
- let font=g:doxygen_codeword_font
- endif
- else
- " Try and pick a font (only some platforms have been tested).
- if has('gui_running')
- if has('gui_gtk2')
- if &guifont == ''
- let font="font='FreeSerif 12'"
- else
- let font="font='".substitute(&guifont, '^.\{-}\([0-9]\+\)$', 'FreeSerif \1','')."'"
- endif
-
- elseif has('gui_win32') || has('gui_win16') || has('gui_win95')
- if &guifont == ''
- let font='font=Lucida_Console:h10'
- else
- let font='font='.substitute(&guifont, '^[^:]*', 'Lucida_Console','')
- endif
- elseif has('gui_athena') || has('gui_gtk') || &guifont=~'^\(-[^-]\+\)\{14}'
- if &guifont == ''
- let font='font=-b&h-lucidatypewriter-medium-r-normal-*-*-140-*-*-m-*-iso8859-1'
- else
- " let font='font='.substitute(&guifont,'^\(-[^-]\+\)\{7}-\([0-9]\+\).*', '-b\&h-lucidatypewriter-medium-r-normal-*-*-\2-*-*-m-*-iso8859-1','')
- " The above line works, but it is hard to expect the combination of
- " the two fonts will look good.
+ " Try and pick a font (only some platforms have been tested).
+ if has('gui_running')
+ if has('gui_gtk2')
+ if &guifont == ''
+ let font="font='FreeSerif 12'"
+ else
+ let font="font='".substitute(&guifont, '^.\{-}\([0-9]\+\)$', 'FreeSerif \1','')."'"
+ endif
+
+ elseif has('gui_win32') || has('gui_win16') || has('gui_win95')
+ if &guifont == ''
+ let font='font=Lucida_Console:h10'
+ else
+ let font='font='.substitute(&guifont, '^[^:]*', 'Lucida_Console','')
+ endif
+ elseif has('gui_athena') || has('gui_gtk') || &guifont=~'^\(-[^-]\+\)\{14}'
+ if &guifont == ''
+ let font='font=-b&h-lucidatypewriter-medium-r-normal-*-*-140-*-*-m-*-iso8859-1'
+ else
+ " let font='font='.substitute(&guifont,'^\(-[^-]\+\)\{7}-\([0-9]\+\).*', '-b\&h-lucidatypewriter-medium-r-normal-*-*-\2-*-*-m-*-iso8859-1','')
+ " The above line works, but it is hard to expect the combination of
+ " the two fonts will look good.
+ endif
+ elseif has('gui_kde')
+ " let font='font=Bitstream\ Vera\ Sans\ Mono/12/-1/5/50/0/0/0/0/0'
endif
- elseif has('gui_kde')
- " let font='font=Bitstream\ Vera\ Sans\ Mono/12/-1/5/50/0/0/0/0/0'
endif
endif
- endif
- if font=='' | let font='gui=bold' | endif
- exe 'SynColor doxygenCodeWord term=bold cterm=bold '.font
- if (exists('g:doxygen_enhanced_color') && g:doxygen_enhanced_color) || (exists('g:doxygen_enhanced_colour') && g:doxygen_enhanced_colour)
- if &background=='light'
- SynColor doxygenComment ctermfg=DarkRed guifg=DarkRed
- SynColor doxygenBrief cterm=bold ctermfg=Cyan guifg=DarkBlue gui=bold
- SynColor doxygenBody ctermfg=DarkBlue guifg=DarkBlue
- SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=DarkRed guifg=firebrick3 gui=bold
- SynColor doxygenBOther cterm=bold ctermfg=DarkMagenta guifg=#aa50aa gui=bold
- SynColor doxygenParam ctermfg=DarkGray guifg=#aa50aa
- SynColor doxygenParamName cterm=italic ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=italic,bold
- SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=DarkCyan guifg=DodgerBlue3 gui=bold
- SynColor doxygenSpecialHeading cterm=bold ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=bold
- SynColor doxygenPrev ctermfg=DarkGreen guifg=DarkGreen
+ if font=='' | let font='gui=bold' | endif
+ exe 'SynColor doxygenCodeWord term=bold cterm=bold '.font
+ if (exists('g:doxygen_enhanced_color') && g:doxygen_enhanced_color) || (exists('g:doxygen_enhanced_colour') && g:doxygen_enhanced_colour)
+ if &background=='light'
+ SynColor doxygenComment ctermfg=DarkRed guifg=DarkRed
+ SynColor doxygenBrief cterm=bold ctermfg=Cyan guifg=DarkBlue gui=bold
+ SynColor doxygenBody ctermfg=DarkBlue guifg=DarkBlue
+ SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=DarkRed guifg=firebrick3 gui=bold
+ SynColor doxygenBOther cterm=bold ctermfg=DarkMagenta guifg=#aa50aa gui=bold
+ SynColor doxygenParam ctermfg=DarkGray guifg=#aa50aa
+ SynColor doxygenParamName cterm=italic ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=italic,bold
+ SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=DarkCyan guifg=DodgerBlue3 gui=bold
+ SynColor doxygenSpecialHeading cterm=bold ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=bold
+ SynColor doxygenPrev ctermfg=DarkGreen guifg=DarkGreen
+ else
+ SynColor doxygenComment ctermfg=LightRed guifg=LightRed
+ SynColor doxygenBrief cterm=bold ctermfg=Cyan ctermbg=darkgrey guifg=LightBlue gui=Bold,Italic
+ SynColor doxygenBody ctermfg=Cyan guifg=LightBlue
+ SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=Red guifg=firebrick3 gui=bold
+ SynColor doxygenBOther cterm=bold ctermfg=Magenta guifg=#aa50aa gui=bold
+ SynColor doxygenParam ctermfg=LightGray guifg=LightGray
+ SynColor doxygenParamName cterm=italic ctermfg=LightBlue guifg=LightBlue gui=italic,bold
+ SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=LightCyan guifg=LightCyan gui=bold
+ SynColor doxygenSpecialHeading cterm=bold ctermfg=LightBlue guifg=LightBlue gui=bold
+ SynColor doxygenPrev ctermfg=LightGreen guifg=LightGreen
+ endif
else
- SynColor doxygenComment ctermfg=LightRed guifg=LightRed
- SynColor doxygenBrief cterm=bold ctermfg=Cyan ctermbg=darkgrey guifg=LightBlue gui=Bold,Italic
- SynColor doxygenBody ctermfg=Cyan guifg=LightBlue
- SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=Red guifg=firebrick3 gui=bold
- SynColor doxygenBOther cterm=bold ctermfg=Magenta guifg=#aa50aa gui=bold
- SynColor doxygenParam ctermfg=LightGray guifg=LightGray
- SynColor doxygenParamName cterm=italic ctermfg=LightBlue guifg=LightBlue gui=italic,bold
- SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=LightCyan guifg=LightCyan gui=bold
- SynColor doxygenSpecialHeading cterm=bold ctermfg=LightBlue guifg=LightBlue gui=bold
- SynColor doxygenPrev ctermfg=LightGreen guifg=LightGreen
+ SynLink doxygenComment SpecialComment
+ SynLink doxygenBrief Statement
+ SynLink doxygenBody Comment
+ SynLink doxygenSpecialTypeOnelineDesc Statement
+ SynLink doxygenBOther Constant
+ SynLink doxygenParam SpecialComment
+ SynLink doxygenParamName Underlined
+ SynLink doxygenSpecialOnelineDesc Statement
+ SynLink doxygenSpecialHeading Statement
+ SynLink doxygenPrev SpecialComment
endif
- else
- SynLink doxygenComment SpecialComment
- SynLink doxygenBrief Statement
- SynLink doxygenBody Comment
- SynLink doxygenSpecialTypeOnelineDesc Statement
- SynLink doxygenBOther Constant
- SynLink doxygenParam SpecialComment
- SynLink doxygenParamName Underlined
- SynLink doxygenSpecialOnelineDesc Statement
- SynLink doxygenSpecialHeading Statement
- SynLink doxygenPrev SpecialComment
+ endfun
+
+ call s:Doxygen_Hilights()
+
+ " This is still a proposal, but won't do any harm.
+ aug doxygengroup
+ au!
+ au Syntax UserColor_reset nested call s:Doxygen_Hilights_Base()
+ au Syntax UserColor_{on,reset,enable} nested call s:Doxygen_Hilights()
+ aug END
+
+
+ SynLink doxygenBody Comment
+ SynLink doxygenTODO Todo
+ SynLink doxygenOtherTODO Todo
+ SynLink doxygenOtherWARN Todo
+ SynLink doxygenOtherBUG Todo
+
+ SynLink doxygenErrorSpecial Error
+ SynLink doxygenErrorEnd Error
+ SynLink doxygenErrorComment Error
+ SynLink doxygenLinkError Error
+ SynLink doxygenBriefSpecial doxygenSpecial
+ SynLink doxygenHashSpecial doxygenSpecial
+ SynLink doxygenGroupDefineSpecial doxygenSpecial
+ SynLink doxygenEndlinkSpecial doxygenSpecial
+ SynLink doxygenCodeRegionSpecial doxygenSpecial
+ SynLink doxygenVerbatimRegionSpecial doxygenSpecial
+ SynLink doxygenGroupDefine doxygenParam
+
+ SynLink doxygenSpecialMultilineDesc doxygenSpecialOnelineDesc
+ SynLink doxygenFormulaEnds doxygenSpecial
+ SynLink doxygenBold doxygenParam
+ SynLink doxygenBriefWord doxygenParam
+ SynLink doxygenRetval doxygenParam
+ SynLink doxygenOther doxygenParam
+ SynLink doxygenStart doxygenComment
+ SynLink doxygenStart2 doxygenStart
+ SynLink doxygenComment2 doxygenComment
+ SynLink doxygenCommentL doxygenComment
+ SynLink doxygenContinueComment doxygenComment
+ SynLink doxygenSpecialContinueComment doxygenComment
+ SynLink doxygenSkipComment doxygenComment
+ SynLink doxygenEndComment doxygenComment
+ SynLink doxygenStartL doxygenComment
+ SynLink doxygenBriefEndComment doxygenComment
+ SynLink doxygenPrevL doxygenPrev
+ SynLink doxygenBriefL doxygenBrief
+ SynLink doxygenBriefLine doxygenBrief
+ SynLink doxygenHeaderLine doxygenSpecialHeading
+ SynLink doxygenStartSkip doxygenContinueComment
+ SynLink doxygenLinkWord doxygenParamName
+ SynLink doxygenLinkRest doxygenSpecialMultilineDesc
+ SynLink doxygenHyperLink doxygenLinkWord
+ SynLink doxygenHashLink doxygenLinkWord
+
+ SynLink doxygenPage doxygenSpecial
+ SynLink doxygenPagePage doxygenBOther
+ SynLink doxygenPageIdent doxygenParamName
+ SynLink doxygenPageDesc doxygenSpecialTypeOnelineDesc
+
+ SynLink doxygenSpecialIdent doxygenPageIdent
+ SynLink doxygenSpecialSectionDesc doxygenSpecialMultilineDesc
+
+ SynLink doxygenSpecialRefWord doxygenOther
+ SynLink doxygenRefWord doxygenPageIdent
+ SynLink doxygenContinueLinkComment doxygenComment
+
+ SynLink doxygenHtmlCh Function
+ SynLink doxygenHtmlCmd Statement
+ SynLink doxygenHtmlBoldItalicUnderline doxygenHtmlBoldUnderlineItalic
+ SynLink doxygenHtmlUnderlineBold doxygenHtmlBoldUnderline
+ SynLink doxygenHtmlUnderlineItalicBold doxygenHtmlBoldUnderlineItalic
+ SynLink doxygenHtmlUnderlineBoldItalic doxygenHtmlBoldUnderlineItalic
+ SynLink doxygenHtmlItalicUnderline doxygenHtmlUnderlineItalic
+ SynLink doxygenHtmlItalicBold doxygenHtmlBoldItalic
+ SynLink doxygenHtmlItalicBoldUnderline doxygenHtmlBoldUnderlineItalic
+ SynLink doxygenHtmlItalicUnderlineBold doxygenHtmlBoldUnderlineItalic
+ SynLink doxygenHtmlLink Underlined
+
+ SynLink doxygenParamDirection StorageClass
+
+
+ if !exists("doxygen_my_rendering") && !exists("html_my_rendering")
+ SynColor doxygenBoldWord term=bold cterm=bold gui=bold
+ SynColor doxygenEmphasisedWord term=italic cterm=italic gui=italic
+ SynLink doxygenArgumentWord doxygenEmphasisedWord
+ SynLink doxygenHtmlCode doxygenCodeWord
+ SynLink doxygenHtmlBold doxygenBoldWord
+ SynColor doxygenHtmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline
+ SynColor doxygenHtmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic
+ SynColor doxygenHtmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline
+ SynColor doxygenHtmlUnderline term=underline cterm=underline gui=underline
+ SynColor doxygenHtmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline
+ SynColor doxygenHtmlItalic term=italic cterm=italic gui=italic
endif
- endfun
- fun! s:Doxygen_ResetSyntax()
- if exists("did_doxygen_syntax_inits")
- unlet did_doxygen_syntax_inits
- endif
- endfun
- call s:Doxygen_Hilights()
- " This is still a proposal, but won't do any harm.
- au Syntax UserColor_reset nested call s:Doxygen_Hilights_Base()
- au Syntax UserColor_{on,reset,enable} nested call s:Doxygen_Hilights()
- "au User Syntax_UserColor_off nested call s:Doxygen_ResetSyntax()
-
-
- SynLink doxygenBody Comment
- SynLink doxygenTODO Todo
- SynLink doxygenOtherTODO Todo
- SynLink doxygenOtherWARN Todo
- SynLink doxygenOtherBUG Todo
-
- SynLink doxygenErrorSpecial Error
- SynLink doxygenErrorEnd Error
- SynLink doxygenErrorComment Error
- SynLink doxygenLinkError Error
- SynLink doxygenBriefSpecial doxygenSpecial
- SynLink doxygenHashSpecial doxygenSpecial
- SynLink doxygenGroupDefineSpecial doxygenSpecial
- SynLink doxygenEndlinkSpecial doxygenSpecial
- SynLink doxygenCodeRegionSpecial doxygenSpecial
- SynLink doxygenVerbatimRegionSpecial doxygenSpecial
- SynLink doxygenGroupDefine doxygenParam
-
- SynLink doxygenSpecialMultilineDesc doxygenSpecialOnelineDesc
- SynLink doxygenFormulaEnds doxygenSpecial
- SynLink doxygenBold doxygenParam
- SynLink doxygenBriefWord doxygenParam
- SynLink doxygenRetval doxygenParam
- SynLink doxygenOther doxygenParam
- SynLink doxygenStart doxygenComment
- SynLink doxygenStart2 doxygenStart
- SynLink doxygenComment2 doxygenComment
- SynLink doxygenCommentL doxygenComment
- SynLink doxygenContinueComment doxygenComment
- SynLink doxygenSpecialContinueComment doxygenComment
- SynLink doxygenSkipComment doxygenComment
- SynLink doxygenEndComment doxygenComment
- SynLink doxygenStartL doxygenComment
- SynLink doxygenBriefEndComment doxygenComment
- SynLink doxygenPrevL doxygenPrev
- SynLink doxygenBriefL doxygenBrief
- SynLink doxygenBriefLine doxygenBrief
- SynLink doxygenHeaderLine doxygenSpecialHeading
- SynLink doxygenStartSkip doxygenContinueComment
- SynLink doxygenLinkWord doxygenParamName
- SynLink doxygenLinkRest doxygenSpecialMultilineDesc
- SynLink doxygenHyperLink doxygenLinkWord
- SynLink doxygenHashLink doxygenLinkWord
-
- SynLink doxygenPage doxygenSpecial
- SynLink doxygenPagePage doxygenBOther
- SynLink doxygenPageIdent doxygenParamName
- SynLink doxygenPageDesc doxygenSpecialTypeOnelineDesc
-
- SynLink doxygenSpecialIdent doxygenPageIdent
- SynLink doxygenSpecialSectionDesc doxygenSpecialMultilineDesc
-
- SynLink doxygenSpecialRefWord doxygenOther
- SynLink doxygenRefWord doxygenPageIdent
- SynLink doxygenContinueLinkComment doxygenComment
-
- SynLink doxygenHtmlCh Function
- SynLink doxygenHtmlCmd Statement
- SynLink doxygenHtmlBoldItalicUnderline doxygenHtmlBoldUnderlineItalic
- SynLink doxygenHtmlUnderlineBold doxygenHtmlBoldUnderline
- SynLink doxygenHtmlUnderlineItalicBold doxygenHtmlBoldUnderlineItalic
- SynLink doxygenHtmlUnderlineBoldItalic doxygenHtmlBoldUnderlineItalic
- SynLink doxygenHtmlItalicUnderline doxygenHtmlUnderlineItalic
- SynLink doxygenHtmlItalicBold doxygenHtmlBoldItalic
- SynLink doxygenHtmlItalicBoldUnderline doxygenHtmlBoldUnderlineItalic
- SynLink doxygenHtmlItalicUnderlineBold doxygenHtmlBoldUnderlineItalic
- SynLink doxygenHtmlLink Underlined
-
- SynLink doxygenParamDirection StorageClass
-
-
- if !exists("doxygen_my_rendering") && !exists("html_my_rendering")
- SynColor doxygenBoldWord term=bold cterm=bold gui=bold
- SynColor doxygenEmphasisedWord term=italic cterm=italic gui=italic
- SynLink doxygenArgumentWord doxygenEmphasisedWord
- SynLink doxygenHtmlCode doxygenCodeWord
- SynLink doxygenHtmlBold doxygenBoldWord
- SynColor doxygenHtmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline
- SynColor doxygenHtmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic
- SynColor doxygenHtmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline
- SynColor doxygenHtmlUnderline term=underline cterm=underline gui=underline
- SynColor doxygenHtmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline
- SynColor doxygenHtmlItalic term=italic cterm=italic gui=italic
+ finally
+ if s:my_synlink | delcommand SynLink | endif
+ if s:my_syncolor | delcommand SynColor | endif
+ endtry
+
+ if &syntax=='idl'
+ syn cluster idlCommentable add=doxygenComment,doxygenCommentL
endif
- delcommand SynLink
- delcommand SynColor
-endif
-if &syntax=='idl'
- syn cluster idlCommentable add=doxygenComment,doxygenCommentL
-endif
+ "syn sync clear
+ "syn sync maxlines=500
+ "syn sync minlines=50
+ syn sync match doxygenComment groupthere cComment "/\@<!/\*"
+ syn sync match doxygenSyncComment grouphere doxygenComment "/\@<!/\*[*!]"
+ "syn sync match doxygenSyncComment grouphere doxygenComment "/\*[*!]" contains=doxygenStart,doxygenTODO keepend
+ syn sync match doxygenSyncEndComment groupthere NONE "\*/"
-"syn sync clear
-"syn sync maxlines=500
-"syn sync minlines=50
-if v:version >= 600
-syn sync match doxygenComment groupthere cComment "/\@<!/\*"
-syn sync match doxygenSyncComment grouphere doxygenComment "/\@<!/\*[*!]"
-else
-syn sync match doxygencComment groupthere cComment "/\*"
-syn sync match doxygenSyncComment grouphere doxygenComment "/\*[*!]"
-endif
-"syn sync match doxygenSyncComment grouphere doxygenComment "/\*[*!]" contains=doxygenStart,doxygenTODO keepend
-syn sync match doxygenSyncEndComment groupthere NONE "\*/"
+ if !exists('b:current_syntax')
+ let b:current_syntax = "doxygen"
+ else
+ let b:current_syntax = b:current_syntax.'.doxygen'
+ endif
-if !exists('b:current_syntax')
- let b:current_syntax = "doxygen"
-else
- let b:current_syntax = b:current_syntax.'.doxygen'
-endif
+finally
+ let &cpo = s:cpo_save
+ unlet s:cpo_save
+endtry
-let &cpo = s:cpo_save
-unlet s:cpo_save
" vim:et sw=2 sts=2
" Vim syntax file
" Language: Mutt setup files
-" Maintainer: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
+" Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
+" Former Maintainer: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
" Contributor: Gary Johnson <garyjohn@spk.agilent.com>
-" Last Change: 27 May 2004
+" 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/muttrc.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!
+" XXX outdated comment
" This file covers mutt version 1.4.2.1i
" For version 5.x: Clear all syntax items
syn keyword muttrcVarBool contained invstatus_on_top invstrict_threads invsuspend invtext_flowed invthorough_search
syn keyword muttrcVarBool contained invthread_received invtilde invuncollapse_jump invuse_8bitmime invuse_domain invuse_from
syn keyword muttrcVarBool contained invuse_ipv6 invuser_agent invwait_key invweed invwrap_search invwrite_bcc
+syn keyword muttrcVarBool contained crypt_autosign crypt_autoencrypt xterm_set_titles
+syn keyword muttrcVarBool contained maildir_header_cache_verify
syn keyword muttrcVarQuad contained abort_nosubject abort_unmodified copy delete honor_followup_to include mime_forward
syn keyword muttrcVarQuad contained mime_forward_rest mime_fwd move pgp_create_traditional pgp_verify_sig pop_delete
syn keyword muttrcVarNum contained pgp_timeout pop_checkinterval read_inc score_threshold_delete score_threshold_flag
syn keyword muttrcVarNum contained score_threshold_read sendmail_wait sleep_time timeout wrapmargin write_inc
-syn keyword muttrcVarStr contained alias_file alias_format alternates attach_format attach_sep attribution certificate_file
+syn keyword muttrcVarStr contained alias_file alias_format attach_format attach_sep attribution certificate_file
syn keyword muttrcVarStr contained charset compose_format date_format default_hook display_filter dotlock_program dsn_notify
syn keyword muttrcVarStr contained dsn_return editor entropy_file escape folder folder_format forw_format forward_format
syn keyword muttrcVarStr contained from gecos_mask hdr_format hostname imap_authenticators imap_delim_chars
syn keyword muttrcVarStr contained postponed preconnect print_cmd print_command query_command quote_regexp realname record
syn keyword muttrcVarStr contained reply_regexp send_charset sendmail shell signature simple_search smileys sort sort_alias
syn keyword muttrcVarStr contained sort_aux sort_browser spoolfile status_chars status_format tmpdir to_chars tunnel visual
+syn keyword muttrcVarStr contained header_cache header_cache_pagesize
syn keyword muttrcMenu contained alias attach browser compose editor index pager postpone pgp mix query generic
syn keyword muttrcCommand folder-hook hdr_order iconv-hook ignore lists mailboxes message-hook mbox-hook my_hdr
syn keyword muttrcCommand pgp-hook push save-hook score send-hook source subscribe unalias unauto_view unhdr_order
syn keyword muttrcCommand unhook unignore unlists unmono unmy_hdr unscore unsubscribe
+syn keyword muttrcCommand send2-hook alternates unalternates
syn keyword muttrcSet set skipwhite nextgroup=muttrcVar.*
syn keyword muttrcUnset unset skipwhite nextgroup=muttrcVar.*
" Vim syntax file
" Language: php PHP 3/4/5
-" Maintainer: Lutz Eymers <ixtab@polzin.com>
-" URL: http://www.isp.de/data/php.vim
-" Last Change: 2004 Feb 04
+" Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
+" Former Maintainer: Lutz Eymers <ixtab@polzin.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/php.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!
"
" Options php_sql_query = 1 for SQL syntax highlighting inside strings
" php_htmlInStrings = 1 for HTML syntax highlighting inside strings
" String
if exists("php_parent_error_open")
syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained keepend
+ syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained keepend
syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings contained keepend
else
syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
+ syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings contained keepend extend
endif
syn match phpParent "[({[\]})]" contained
endif
-syn cluster phpClConst contains=phpFunctions,phpIdentifier,phpConditional,phpRepeat,phpStatement,phpOperator,phpRelation,phpStringSingle,phpStringDouble,phpNumber,phpFloat,phpKeyword,phpType,phpBoolean,phpStructure,phpMethodsVar,phpConstant,phpCoreConstant,phpException
+syn cluster phpClConst contains=phpFunctions,phpIdentifier,phpConditional,phpRepeat,phpStatement,phpOperator,phpRelation,phpStringSingle,phpStringDouble,phpBacktick,phpNumber,phpFloat,phpKeyword,phpType,phpBoolean,phpStructure,phpMethodsVar,phpConstant,phpCoreConstant,phpException
syn cluster phpClInside contains=@phpClConst,phpComment,phpLabel,phpParent,phpParentError,phpInclude,phpHereDoc
syn cluster phpClFunction contains=@phpClInside,phpDefine,phpParentError,phpStorageClass
syn cluster phpClTop contains=@phpClFunction,phpFoldFunction,phpFoldClass,phpFoldInterface,phpFoldTry,phpFoldCatch
HiLink phpStructure Structure
HiLink phpStringSingle String
HiLink phpStringDouble String
+ HiLink phpBacktick String
HiLink phpNumber Number
HiLink phpFloat Float
HiLink phpMethods Function
" Vim syntax file
" Language: Slrn setup file (based on slrn 0.9.8.0)
-" Maintainer: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
-" Last Change: 19 May 2004
+" Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
+" Former Maintainer: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
+" 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/slrnrc.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!
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
syn keyword slrnrcFunArt contained help hide_article locate_article mark_spot next next_high_score next_same_subject pipe post post_postponed previous print quit redraw
syn keyword slrnrcFunArt contained repeat_last_key reply request save show_spoilers shrink_article_window skip_quotes skip_to_next_group skip_to_previous_group
syn keyword slrnrcFunArt contained subject_search_backward subject_search_forward supersede suspend tag_header toggle_collapse_threads toggle_header_formats
-syn keyword slrnrcFunArt contained toggle_header_tag toggle_headers toggle_pgpsignature toggle_quotes toggle_rot13 toggle_signature toggle_verbatim_marks
+syn keyword slrnrcFunArt contained toggle_header_tag toggle_headers toggle_pgpsignature toggle_quotes toggle_rot13 toggle_signature toggle_sort toggle_verbatim_marks
syn keyword slrnrcFunArt contained toggle_verbatim_text uncatchup uncatchup_all undelete untag_headers view_scores wrap_article zoom_article_window
" Listed for removal
syn keyword slrnrcFunGroup contained down group_bob group_eob pagedown pageup toggle_group_display uncatch_up up
" Functions in readline mode (actually from slang's slrline.c)
-syn keyword slrnrcFunRead contained bdel bol del deleol down enter eol left quoted_insert right self_insert trim up
+syn keyword slrnrcFunRead contained bdel bol complete cycle del delbol delbow deleol down enter eol left quoted_insert right self_insert trim up
" Binding keys
syn keyword slrnrcSetkeyObj contained article group readline
" stata.vim -- Vim syntax file for Stata do, ado, and class files.
" Language: Stata and/or Mata
" Maintainer: Jeff Pitblado <jpitblado@stata.com>
-" Last Change: 14apr2006
-" Version: 1.1.1
+" Last Change: 17apr2006
+" Version: 1.1.2
" Location: http://www.stata.com/users/jpitblado/files/vimfiles/syntax/stata.vim
" Log:
" 14apr2006 renamed syntax groups st* to stata*
" 'syntax clear' only under version control
-" check for 'b:current_syntax', removed 'did_stat_syntax_inits'
+" check for 'b:current_syntax', removed 'did_stata_syntax_inits'
if version < 600
syntax clear
" Stata functions
" Math
-syn region stataFunc matchgroup=Function start=/abs(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/acos(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/asin(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/atan(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/atan2(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/atanh(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/ceil(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/cloglog(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/comb(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/cos(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/digamma(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/exp(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/floor(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/int(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invcloglog(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invlogit(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/ln(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/lnfact(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/lnfactorial(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/lngamma(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/log(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/log10(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/logit(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/max(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/mod(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/reldif(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/round(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/sign(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/sin(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/sqrt(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/sum(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/tan(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/tanh(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/trigamma(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/trunc(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<abs(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<acos(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<asin(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<atan(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<atan2(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<atanh(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<ceil(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<cloglog(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<comb(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<cos(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<digamma(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<exp(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<floor(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<int(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invcloglog(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invlogit(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<ln(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<lnfact(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<lnfactorial(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<lngamma(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<log(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<log10(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<logit(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<max(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<mod(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<reldif(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<round(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<sign(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<sin(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<sqrt(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<sum(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<tan(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<tanh(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<trigamma(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<trunc(/ end=/)/ contains=@stataFuncGroup
" Probability distriubtions and density functions
-syn region stataFunc matchgroup=Function start=/betaden(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/Binomial(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/binorm(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/binormal(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/chi2(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/chi2tail(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/dgammapda(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/dgammapdada(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/dgammapdadx(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/dgammapdx(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/dgammapdxdx(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/F(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/Fden(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/Ftail(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/gammaden(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/gammap(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/ibeta(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invbinomial(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invchi2(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invchi2tail(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invF(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invFtail(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invgammap(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invibeta(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invnchi2(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invFtail(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invibeta(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invnorm(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invnormal(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invttail(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/lnnormal(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/lnnormalden(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/nbetaden(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/nchi2(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/nFden(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/nFtail(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/nibeta(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/norm(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/normal(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/normalden(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/normden(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/npnchi2(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/tden(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/ttail(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<betaden(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<Binomial(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<binorm(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<binormal(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<chi2(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<chi2tail(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<dgammapda(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<dgammapdada(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<dgammapdadx(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<dgammapdx(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<dgammapdxdx(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<F(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<Fden(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<Ftail(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<gammaden(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<gammap(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<ibeta(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invbinomial(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invchi2(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invchi2tail(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invF(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invFtail(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invgammap(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invibeta(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invnchi2(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invFtail(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invibeta(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invnorm(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invnormal(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invttail(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<lnnormal(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<lnnormalden(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<nbetaden(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<nchi2(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<nFden(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<nFtail(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<nibeta(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<norm(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<normal(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<normalden(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<normden(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<npnchi2(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<tden(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<ttail(/ end=/)/ contains=@stataFuncGroup
" Random numbers
-syn region stataFunc matchgroup=Function start=/uniform(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<uniform(/ end=/)/ contains=@stataFuncGroup
" String
-syn region stataFunc matchgroup=Function start=/abbrev(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/hchar(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/indexnot(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/itrim(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/length(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/lower(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/ltrim(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/plural(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/proper(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/real(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/regexm(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/regexr(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/regexs(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/reverse(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/rtrim(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/string(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/strlen(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/strmatch(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/strpos(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/subinstr(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/subinword(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/substr(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/trim(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/upper(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/word(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/wordcount(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<abbrev(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<hchar(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<indexnot(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<itrim(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<length(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<lower(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<ltrim(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<plural(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<proper(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<real(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<regexm(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<regexr(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<regexs(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<reverse(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<rtrim(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<string(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<strlen(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<strmatch(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<strpos(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<subinstr(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<subinword(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<substr(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<trim(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<upper(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<word(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<wordcount(/ end=/)/ contains=@stataFuncGroup
" Programming
-syn region stataFunc matchgroup=Function start=/autocode(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/byteorder(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/c(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/_caller(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/chop(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/clip(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/cond(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/e(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/epsdouble(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/epsfloat(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/float(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/has_eprop(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/has_eprop(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/inlist(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/inrange(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/irecode(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/matrix(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/maxbyte(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/maxdouble(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/maxfloat(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/maxint(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/maxlong(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/mi(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/minbyte(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/mindouble(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/minfloat(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/minint(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/minlong(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/missing(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/r(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/recode(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/replay(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/return(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/s(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/scalar(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<autocode(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<byteorder(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<c(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<_caller(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<chop(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<clip(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<cond(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<e(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<epsdouble(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<epsfloat(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<float(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<has_eprop(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<has_eprop(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<inlist(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<inrange(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<irecode(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<matrix(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<maxbyte(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<maxdouble(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<maxfloat(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<maxint(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<maxlong(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<mi(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<minbyte(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<mindouble(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<minfloat(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<minint(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<minlong(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<missing(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<r(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<recode(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<replay(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<return(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<s(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<scalar(/ end=/)/ contains=@stataFuncGroup
" Date
-syn region stataFunc matchgroup=Function start=/d(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/date(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/day(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/dow(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/doy(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/halfyear(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/mdy(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/month(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/quarter(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/week(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/year(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<d(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<date(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<day(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<dow(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<doy(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<halfyear(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<mdy(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<month(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<quarter(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<week(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<year(/ end=/)/ contains=@stataFuncGroup
" Time-series
-syn region stataFunc matchgroup=Function start=/daily(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/halfyearly(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/monthly(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/quarterly(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/weekly(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/yearly(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<daily(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<halfyearly(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<monthly(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<quarterly(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<weekly(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<yearly(/ end=/)/ contains=@stataFuncGroup
"
-syn region stataFunc matchgroup=Function start=/yh(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/ym(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/yq(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/yw(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<yh(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<ym(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<yq(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<yw(/ end=/)/ contains=@stataFuncGroup
"
-syn region stataFunc matchgroup=Function start=/d(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/h(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/m(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/q(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/w(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/y(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<d(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<h(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<m(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<q(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<w(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<y(/ end=/)/ contains=@stataFuncGroup
"
-syn region stataFunc matchgroup=Function start=/dofd(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/dofh(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/dofm(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/dofq(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/dofw(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/dofy(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/hofd(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/mofd(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/qofd(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/wofd(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/yofd(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<dofd(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<dofh(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<dofm(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<dofq(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<dofw(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<dofy(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<hofd(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<mofd(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<qofd(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<wofd(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<yofd(/ end=/)/ contains=@stataFuncGroup
"
-syn region stataFunc matchgroup=Function start=/tin(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/twithin(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<tin(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<twithin(/ end=/)/ contains=@stataFuncGroup
" Matrix
-syn region stataFunc matchgroup=Function start=/colnumb(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/colsof(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/det(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/diag0cnt(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/el(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/issymmetric(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/matmissing(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/mreldif(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/rownumb(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/rowsof(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/trace(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<colnumb(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<colsof(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<det(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<diag0cnt(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<el(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<issymmetric(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<matmissing(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<mreldif(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<rownumb(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<rowsof(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<trace(/ end=/)/ contains=@stataFuncGroup
"
-syn region stataFunc matchgroup=Function start=/cholsky(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/corr(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/diag(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/get(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/hadamard(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/I(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/inv(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/invsym(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/J(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/matuniform(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/nullmat(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/sweep(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/vec(/ end=/)/ contains=@stataFuncGroup
-syn region stataFunc matchgroup=Function start=/vecdiag(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<cholsky(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<corr(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<diag(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<get(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<hadamard(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<I(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<inv(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<invsym(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<J(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<matuniform(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<nullmat(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<sweep(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<vec(/ end=/)/ contains=@stataFuncGroup
+syn region stataFunc matchgroup=Function start=/\<vecdiag(/ end=/)/ contains=@stataFuncGroup
" Errors to catch
" taken from $VIMRUNTIME/syntax/c.vim
" Vim syntax file
" Language: tpp - Text Presentation Program
-" Maintainer: Gerfried Fuchs <alfie@ist.org>
+" Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
+" Former Maintainer: Gerfried Fuchs <alfie@ist.org>
+" 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/tpp.vim?op=file&rev=0&sc=0
" Filenames: *.tpp
-" Last Change: 28. October 2004
-" URL: http://alfie.ist.org/projects/vim/syntax/tpp.vim
" License: BSD
"
+" 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!
+"
" Comments are very welcome - but please make sure that you are commenting on
" the latest version of this file.
" SPAM is _NOT_ welcome - be ready to be reported!
"" list of the legal switches/options
-syn match tppAbstractOptionKey contained "^--\%(author\|title\|date\) *" nextgroup=tppValue
-syn match tppPageLocalOptionKey contained "^--\%(heading\|center\|right\|huge\|sethugefont\|exec\) *" nextgroup=tppValue
+syn match tppAbstractOptionKey contained "^--\%(author\|title\|date\|footer\) *" nextgroup=tppString
+syn match tppPageLocalOptionKey contained "^--\%(heading\|center\|right\|huge\|sethugefont\|exec\) *" nextgroup=tppString
syn match tppPageLocalSwitchKey contained "^--\%(horline\|-\|\%(begin\|end\)\%(\%(shell\)\?output\|slide\%(left\|right\|top\|bottom\)\)\|\%(bold\|rev\|ul\)\%(on\|off\)\|withborder\)"
-syn match tppNewPageOptionKey contained "^--newpage *" nextgroup=tppValue
+syn match tppNewPageOptionKey contained "^--newpage *" nextgroup=tppString
syn match tppColorOptionKey contained "^--\%(\%(bg\|fg\)\?color\) *"
syn match tppTimeOptionKey contained "^--sleep *"
-syn match tppValue contained ".*"
-syn match tppColor contained "\%(white\|yellow\|red\|green\|blue\|cyan\|magenta\|black\)"
+syn match tppString contained ".*"
+syn match tppColor contained "\%(white\|yellow\|red\|green\|blue\|cyan\|magenta\|black\|default\)"
syn match tppTime contained "\d\+"
syn region tppPageLocalSwitch start="^--" end="$" contains=tppPageLocalSwitchKey oneline
syn region tppTimeOption start="^--sleep" end="$" contains=tppTimeOptionKey,tppTime oneline
syn region tppNewPageOption start="^--newpage" end="$" contains=tppNewPageOptionKey oneline
syn region tppPageLocalOption start="^--\%(heading\|center\|right\|huge\|sethugefont\|exec\)" end="$" contains=tppPageLocalOptionKey oneline
-syn region tppAbstractOption start="^--\%(author\|title\|date\)" end="$" contains=tppAbstractOptionKey oneline
+syn region tppAbstractOption start="^--\%(author\|title\|date\|footer\)" end="$" contains=tppAbstractOptionKey oneline
if main_syntax != 'sh'
" shell command
HiLink tppColorOptionKey Keyword
HiLink tppTimeOptionKey Comment
HiLink tppNewPageOptionKey PreProc
- HiLink tppValue String
+ HiLink tppString String
HiLink tppColor String
HiLink tppTime Number
HiLink tppComment Comment
" Language: Vim 7.0 script
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Apr 12, 2006
-" Version: 7.0-41
+" Version: 7.0-42
" Automatically generated keyword lists: {{{1
" Quit when a syntax file was already loaded {{{2
endif
syn case ignore
syn keyword vimUserAttrbKey contained bar ban[g] cou[nt] ra[nge] com[plete] n[args] re[gister]
-syn keyword vimUserAttrbCmplt contained augroup buffer command dir environment event expression file function help highlight mapping menu option tag tag_listfiles var
+syn keyword vimUserAttrbCmplt contained augroup buffer command dir environment event expression file function help highlight mapping menu option something tag tag_listfiles var
+syn keyword vimUserAttrbCmplt contained custom customlist nextgroup=vimUserAttrbCmpltFunc,vimUserCmdError
+syn match vimUserAttrbCmpltFunc contained ",\%(\h\w*#\u\w*\|\u\w*\)"hs=s+1 nextgroup=vimUserCmdError
+
syn case match
syn match vimUserAttrbCmplt contained "custom,\u\w*"
hi def link vimSyncNone Type
hi def link vimTodo Todo
hi def link vimUserCmdError Error
+hi def link vimUserAttrbCmpltFunc Special
" Current Syntax Variable: {{{2
let b:current_syntax = "vim"
strcpy(buf, searchpath(buf));
// remove "gvim.exe" from the end
- for (idx = strlen(buf) - 1; idx >= 0; idx--)
+ for (idx = (int)strlen(buf) - 1; idx >= 0; idx--)
if (buf[idx] == '\\' || buf[idx] == '/')
{
buf[idx + 1] = 0;
getRuntimeDir(szBuff);
if (szBuff[0] != 0)
{
- len = strlen(szBuff);
+ len = (DWORD)strlen(szBuff);
if (dyn_libintl_init(szBuff))
{
strcpy(szBuff + len, "lang");
return NOERROR;
}
-STDMETHODIMP CShellExt::GetCommandString(UINT idCmd,
+STDMETHODIMP CShellExt::GetCommandString(UINT_PTR idCmd,
UINT uFlags,
UINT FAR *reserved,
LPSTR pszName,
#include <windowsx.h>
#include <shlobj.h>
+/* Accommodate old versions of VC that don't have a modern Platform SDK */
+#if _MSC_VER < 1300
+#undef UINT_PTR
+#define UINT_PTR UINT
+#endif
+
#define ResultFromShort(i) ResultFromScode(MAKE_SCODE(SEVERITY_SUCCESS, 0, (USHORT)(i)))
// Initialize GUIDs (should be done only and at-least once per DLL/EXE)
STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi);
- STDMETHODIMP GetCommandString(UINT idCmd,
+ STDMETHODIMP GetCommandString(UINT_PTR idCmd,
UINT uFlags,
UINT FAR *reserved,
LPSTR pszName,
OBJDIR = $(OBJDIR)d
!endif
-# Win32.mak requires that CPU be set appropriately
+# Win32.mak requires that CPU be set appropriately.
+# To cross-compile for Win64, set CPU=AMD64 or CPU=IA64.
!ifdef PROCESSOR_ARCHITECTURE
# We're on Windows NT or using VC 6+
+! ifndef CPU
CPU = $(PROCESSOR_ARCHITECTURE)
-! if ("$(CPU)" == "x86") || ("$(CPU)" == "X86")
+! if ("$(CPU)" == "x86") || ("$(CPU)" == "X86")
CPU = i386
+! endif
! endif
!else # !PROCESSOR_ARCHITECTURE
# We're on Windows 95
i_name = gettail(curbuf->b_ffname);
*i_str = NUL;
/* Truncate name at 100 bytes. */
- len = STRLEN(i_name);
+ len = (int)STRLEN(i_name);
if (len > 100)
{
len -= 100;
}
else
#endif
- n = (p - t) - item[groupitem[groupdepth]].maxwid + 1;
+ n = (long)(p - t) - item[groupitem[groupdepth]].maxwid + 1;
*t = '<';
mch_memmove(t + 1, t + n, p - (t + n));
mch_memmove(t + n - l, t, p - t);
l = n - l;
if (p + l >= out + outlen)
- l = (out + outlen) - p - 1;
+ l = (long)((out + outlen) - p - 1);
p += l;
for (n = groupitem[groupdepth] + 1; n < curitem; n++)
item[n].start += l;
{
item[curitem].type = Highlight;
item[curitem].start = p;
- item[curitem].minwid = -syn_namen2id(t, s - t);
+ item[curitem].minwid = -syn_namen2id(t, (int)(s - t));
curitem++;
}
++s;
else
{
transchar_hex(hexbuf, c);
- len += STRLEN(hexbuf);
+ len += (int)STRLEN(hexbuf);
}
}
else
&& vim_iswhite(line_org[si_org])
&& vim_iswhite(line_new[si_new]))
{
- si_org = skipwhite(line_org + si_org) - line_org;
- si_new = skipwhite(line_new + si_new) - line_new;
+ si_org = (int)(skipwhite(line_org + si_org) - line_org);
+ si_new = (int)(skipwhite(line_new + si_new) - line_new);
}
else
{
compl_match_arraysize = 0;
compl = compl_first_match;
if (compl_leader != NULL)
- lead_len = STRLEN(compl_leader);
+ lead_len = (int)STRLEN(compl_leader);
do
{
if ((compl->cp_flags & ORIGINAL_TEXT) == 0
* pattern. */
if (ctrl_x_mode == CTRL_X_WHOLE_LINE)
{
- i = STRLEN(pat) + 8;
+ i = (int)STRLEN(pat) + 8;
ptr = alloc(i);
if (ptr == NULL)
return;
mb_ptr_back(line, p);
vim_free(compl_leader);
- compl_leader = vim_strnsave(line + compl_col, (p - line) - compl_col);
+ compl_leader = vim_strnsave(line + compl_col, (int)(p - line) - compl_col);
if (compl_leader != NULL)
{
ins_compl_del_pum();
/* Set "compl_shown_match" to the actually shown match, it may differ
* when "compl_leader" is used to omit some of the matches. */
while (!ins_compl_equal(compl_shown_match,
- compl_leader, STRLEN(compl_leader))
+ compl_leader, (int)STRLEN(compl_leader))
&& compl_shown_match->cp_next != NULL
&& compl_shown_match->cp_next != compl_first_match)
compl_shown_match = compl_shown_match->cp_next;
if ((compl_shown_match->cp_flags & ORIGINAL_TEXT) == 0
&& compl_leader != NULL
&& !ins_compl_equal(compl_shown_match,
- compl_leader, STRLEN(compl_leader)))
+ compl_leader, (int)STRLEN(compl_leader)))
++todo;
else
/* Remember a matching item. */
}
else if (ctrl_x_mode == CTRL_X_WHOLE_LINE)
{
- compl_col = skipwhite(line) - line;
+ compl_col = (colnr_T)(skipwhite(line) - line);
compl_length = (int)curs_col - (int)compl_col;
if (compl_length < 0) /* cursor in indent: empty pattern */
compl_length = 0;
if (!wasatend && has_format_option(FO_WHITE_PAR))
{
new = ml_get_curline();
- len = STRLEN(new);
+ len = (colnr_T)STRLEN(new);
if (curwin->w_cursor.col == len)
{
pnew = vim_strnsave(new, len + 2);
* deleted characters. */
if (VIsual_active && VIsual.lnum == curwin->w_cursor.lnum)
{
- cc = STRLEN(ml_get_curline());
+ cc = (int)STRLEN(ml_get_curline());
if (VIsual.col > (colnr_T)cc)
{
VIsual.col = cc;
del_char(FALSE);
# ifdef FEAT_VREPLACE
if (State & VREPLACE_FLAG)
- orig_len = STRLEN(ml_get_cursor());
+ orig_len = (int)STRLEN(ml_get_cursor());
# endif
replace_push(cc);
}
pchar_cursor(cc);
#ifdef FEAT_VREPLACE
if (State & VREPLACE_FLAG)
- orig_len = STRLEN(ml_get_cursor()) - 1;
+ orig_len = (int)STRLEN(ml_get_cursor()) - 1;
#endif
}
replace_pop_ins();
{
/* Get the number of screen cells used by the inserted characters */
p = ml_get_cursor();
- ins_len = STRLEN(p) - orig_len;
+ ins_len = (int)STRLEN(p) - orig_len;
vcol = start_vcol;
for (i = 0; i < ins_len; ++i)
{
TRUE);
int len;
- len = STRLEN(ptr);
+ len = (int)STRLEN(ptr);
if (len > 0 && ptr[len - 1] == ' ')
ptr[len - 1] = NUL;
}
dictitem_T *di;
int todo;
- todo = ht->ht_used;
+ todo = (int)ht->ht_used;
for (hi = ht->ht_array; todo > 0 && !got_int; ++hi)
{
if (!HASHITEM_EMPTY(hi))
typval_T tv;
/* handle +=, -= and .= */
- if (get_var_tv(lp->ll_name, STRLEN(lp->ll_name),
+ if (get_var_tv(lp->ll_name, (int)STRLEN(lp->ll_name),
&tv, TRUE) == OK)
{
if (tv_op(&tv, rettv, op) == OK)
++fudi.fd_dict->dv_refcount;
/* If it is the name of a variable of type VAR_FUNC use its contents. */
- len = STRLEN(tofree);
+ len = (int)STRLEN(tofree);
name = deref_func_name(tofree, &len);
/* Skip white space to allow ":call func ()". Not good, but required for
curwin->w_cursor.col = 0;
}
arg = startarg;
- if (get_func_tv(name, STRLEN(name), &rettv, &arg,
+ if (get_func_tv(name, (int)STRLEN(name), &rettv, &arg,
eap->line1, eap->line2, &doesrange,
!eap->skip, fudi.fd_dict) == FAIL)
{
if (deep < 0 || deep > 1)
{
/* recursive: lock/unlock the items the List contains */
- todo = d->dv_hashtab.ht_used;
+ todo = (int)d->dv_hashtab.ht_used;
for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
int todo;
hash_lock(&globvarht);
- todo = globvarht.ht_used;
+ todo = (int)globvarht.ht_used;
for (hi = globvarht.ht_array; todo > 0 && !got_int; ++hi)
{
if (!HASHITEM_EMPTY(hi))
if (dict_len(d1) != dict_len(d2))
return FALSE;
- todo = d1->dv_hashtab.ht_used;
+ todo = (int)d1->dv_hashtab.ht_used;
for (hi = d1->dv_hashtab.ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
int todo;
hashitem_T *hi;
- todo = ht->ht_used;
+ todo = (int)ht->ht_used;
for (hi = ht->ht_array; todo > 0; ++hi)
if (!HASHITEM_EMPTY(hi))
{
/* Lock the hashtab, we don't want it to resize while freeing items. */
hash_lock(&d->dv_hashtab);
- todo = d->dv_hashtab.ht_used;
+ todo = (int)d->dv_hashtab.ht_used;
for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
{
dictitem_T *di;
- di = (dictitem_T *)alloc(sizeof(dictitem_T) + STRLEN(key));
+ di = (dictitem_T *)alloc((unsigned)(sizeof(dictitem_T) + STRLEN(key)));
if (di != NULL)
{
STRCPY(di->di_key, key);
{
dictitem_T *di;
- di = (dictitem_T *)alloc(sizeof(dictitem_T) + STRLEN(org->di_key));
+ di = (dictitem_T *)alloc((unsigned)(sizeof(dictitem_T)
+ + STRLEN(org->di_key)));
if (di != NULL)
{
STRCPY(di->di_key, org->di_key);
orig->dv_copyID = copyID;
orig->dv_copydict = copy;
}
- todo = orig->dv_hashtab.ht_used;
+ todo = (int)orig->dv_hashtab.ht_used;
for (hi = orig->dv_hashtab.ht_array; todo > 0 && !got_int; ++hi)
{
if (!HASHITEM_EMPTY(hi))
{
if (d == NULL)
return 0L;
- return d->dv_hashtab.ht_used;
+ return (long)d->dv_hashtab.ht_used;
}
/*
ga_init2(&ga, (int)sizeof(char), 80);
ga_append(&ga, '{');
- todo = d->dv_hashtab.ht_used;
+ todo = (int)d->dv_hashtab.ht_used;
for (hi = d->dv_hashtab.ht_array; todo > 0 && !got_int; ++hi)
{
if (!HASHITEM_EMPTY(hi))
len = (function ? 13 : 3);
if (str != NULL)
{
- len += STRLEN(str);
+ len += (unsigned)STRLEN(str);
for (p = str; *p != NUL; mb_ptr_adv(p))
if (*p == '\'')
++len;
*lenp = 0;
return (char_u *)""; /* just in case */
}
- *lenp = STRLEN(v->di_tv.vval.v_string);
+ *lenp = (int)STRLEN(v->di_tv.vval.v_string);
return v->di_tv.vval.v_string;
}
switch (error)
{
case ERROR_UNKNOWN:
- emsg_funcname("E117: Unknown function: %s", name);
+ emsg_funcname(N_("E117: Unknown function: %s"), name);
break;
case ERROR_TOOMANY:
emsg_funcname(e_toomanyarg, name);
break;
case ERROR_TOOFEW:
- emsg_funcname("E119: Not enough arguments for function: %s",
+ emsg_funcname(N_("E119: Not enough arguments for function: %s"),
name);
break;
case ERROR_SCRIPT:
- emsg_funcname("E120: Using <SID> not in a script context: %s",
+ emsg_funcname(N_("E120: Using <SID> not in a script context: %s"),
name);
break;
case ERROR_DICT:
- emsg_funcname("E725: Calling dict function without Dictionary: %s",
+ emsg_funcname(N_("E725: Calling dict function without Dictionary: %s"),
name);
break;
}
return;
t += (*mb_ptr2len)(t);
}
- rettv->vval.v_number = t - str;
+ rettv->vval.v_number = (varnumber_T)(t - str);
#else
if (idx <= STRLEN(str))
rettv->vval.v_number = idx;
}
if (item == NULL)
- (void)call_func(func, STRLEN(func), rettv, argc, argv,
+ (void)call_func(func, (int)STRLEN(func), rettv, argc, argv,
curwin->w_cursor.lnum, curwin->w_cursor.lnum,
&dummy, TRUE, selfdict);
{
/* '> can be MAXCOL, get the length of the line then */
if (fp->lnum <= curbuf->b_ml.ml_line_count)
- col = STRLEN(ml_get(fp->lnum)) + 1;
+ col = (colnr_T)STRLEN(ml_get(fp->lnum)) + 1;
else
col = MAXCOL;
}
EMSG(_(e_invarg));
}
- todo = error ? 0 : d->dv_hashtab.ht_used;
+ todo = error ? 0 : (int)d->dv_hashtab.ht_used;
for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
/* Go over all entries in the second dict and add them to the
* first dict. */
- todo = d2->dv_hashtab.ht_used;
+ todo = (int)d2->dv_hashtab.ht_used;
for (hi2 = d2->dv_hashtab.ht_array; todo > 0; ++hi2)
{
if (!HASHITEM_EMPTY(hi2))
ht = &d->dv_hashtab;
hash_lock(ht);
- todo = ht->ht_used;
+ todo = (int)ht->ht_used;
for (hi = ht->ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
if (xp_name == NULL)
return;
- xp_namelen = STRLEN(xp_name);
+ xp_namelen = (int)STRLEN(xp_name);
if (parse_compl_arg(xp_name, xp_namelen, &xp_type, &argt,
&xp_arg) == FAIL)
if (rettv_list_alloc(rettv) == FAIL)
return;
- todo = d->dv_hashtab.ht_used;
+ todo = (int)d->dv_hashtab.ht_used;
for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
else
{
#ifdef FEAT_MBYTE
- startcol = regmatch.startp[0]
- + (*mb_ptr2len)(regmatch.startp[0]) - str;
+ startcol = (colnr_T)(regmatch.startp[0]
+ + (*mb_ptr2len)(regmatch.startp[0]) - str);
#else
startcol = regmatch.startp[0] + 1 - str;
#endif
else
rettv->vval.v_number =
(varnumber_T)(regmatch.endp[0] - str);
- rettv->vval.v_number += str - expr;
+ rettv->vval.v_number += (varnumber_T)(str - expr);
}
}
vim_free(regmatch.regprog);
d = argvars[0].vval.v_dict;
if (d != NULL)
{
- todo = d->dv_hashtab.ht_used;
+ todo = (int)d->dv_hashtab.ht_used;
for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
filtd = 0;
while (cnt < maxline || maxline < 0)
{
- readlen = fread(buf + filtd, 1, FREAD_SIZE - filtd, fd);
+ readlen = (int)fread(buf + filtd, 1, FREAD_SIZE - filtd, fd);
buflen = filtd + readlen;
tolist = 0;
for ( ; filtd < buflen || readlen <= 0; ++filtd)
copy_tv(&(*(listitem_T **)s2)->li_tv, &argv[1]);
rettv.v_type = VAR_UNKNOWN; /* clear_tv() uses this */
- res = call_func(item_compare_func, STRLEN(item_compare_func),
+ res = call_func(item_compare_func, (int)STRLEN(item_compare_func),
&rettv, 2, argv, 0L, 0L, &dummy, TRUE, NULL);
clear_tv(&argv[0]);
clear_tv(&argv[1]);
needle = get_tv_string_chk(&argvars[1]);
haystack = get_tv_string_buf_chk(&argvars[0], buf);
- haystack_len = STRLEN(haystack);
+ haystack_len = (int)STRLEN(haystack);
rettv->vval.v_number = -1;
if (needle == NULL || haystack == NULL)
/* Invoke the function. Recursive! */
s = functv.vval.v_string;
- ret = get_func_tv(s, STRLEN(s), rettv, arg,
+ ret = get_func_tv(s, (int)STRLEN(s), rettv, arg,
curwin->w_cursor.lnum, curwin->w_cursor.lnum,
&len, evaluate, selfdict);
dictitem_T *v;
hash_lock(ht);
- todo = ht->ht_used;
+ todo = (int)ht->ht_used;
for (hi = ht->ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
{
if (!eap->skip)
{
- todo = func_hashtab.ht_used;
+ todo = (int)func_hashtab.ht_used;
for (hi = func_hashtab.ht_array; todo > 0 && !got_int; ++hi)
{
if (!HASHITEM_EMPTY(hi))
{
regmatch.rm_ic = p_ic;
- todo = func_hashtab.ht_used;
+ todo = (int)func_hashtab.ht_used;
for (hi = func_hashtab.ht_array; todo > 0 && !got_int; ++hi)
{
if (!HASHITEM_EMPTY(hi))
if (scriptname != NULL)
{
p = vim_strchr(scriptname, '/');
- plen = STRLEN(p);
- slen = STRLEN(sourcing_name);
+ plen = (int)STRLEN(p);
+ slen = (int)STRLEN(sourcing_name);
if (slen > plen && fnamecmp(p,
sourcing_name + slen - plen) == 0)
j = OK;
if (lv.ll_exp_name != NULL)
{
- len = STRLEN(lv.ll_exp_name);
+ len = (int)STRLEN(lv.ll_exp_name);
if (lead <= 2 && lv.ll_name == lv.ll_exp_name
&& STRNCMP(lv.ll_name, "s:", 2) == 0)
{
ufunc_T **sorttab;
int st_len = 0;
- todo = func_hashtab.ht_used;
+ todo = (int)func_hashtab.ht_used;
sorttab = (ufunc_T **)alloc((unsigned)(sizeof(ufunc_T) * todo));
for (hi = func_hashtab.ht_array; todo > 0; ++hi)
fprintf(fp, _("\n# global variables:\n"));
- todo = globvarht.ht_used;
+ todo = (int)globvarht.ht_used;
for (hi = globvarht.ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
int todo;
char_u *p, *t;
- todo = globvarht.ht_used;
+ todo = (int)globvarht.ht_used;
for (hi = globvarht.ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
else
pbuf = tfname = FullName_save(*fnamep, FALSE);
- len = tflen = STRLEN(tfname);
+ len = tflen = (int)STRLEN(tfname);
if (!get_short_pathname(&tfname, &pbuf, &len))
return -1;
for (lnum = eap->line1; lnum <= eap->line2; ++lnum)
{
s = ml_get(lnum);
- len = STRLEN(s);
+ len = (int)STRLEN(s);
if (maxlen < len)
maxlen = len;
{
if (sort_rx)
{
- start_col = regmatch.startp[0] - s;
- end_col = regmatch.endp[0] - s;
+ start_col = (colnr_T)(regmatch.startp[0] - s);
+ end_col = (colnr_T)(regmatch.endp[0] - s);
}
else
- start_col = regmatch.endp[0] - s;
+ start_col = (colnr_T)(regmatch.endp[0] - s);
}
else
if (regmatch.regprog != NULL)
count = 0;
/* Adjust marks for deleted (or added) lines and prepare for displaying. */
- deleted = count - (lnum - eap->line2);
+ deleted = (long)(count - (lnum - eap->line2));
if (deleted > 0)
mark_adjust(eap->line2 - deleted, eap->line2, (long)MAXLNUM, -deleted);
else if (deleted < 0)
/* Set v:swapcommand for the SwapExists autocommands. */
if (command != NULL)
- len = STRLEN(command) + 3;
+ len = (int)STRLEN(command) + 3;
else
len = 30;
p = alloc((unsigned)len);
switch (*kind)
{
case '-':
- start = lnum - bigness * (x - kind);
+ start = lnum - bigness * (linenr_T)(x - kind);
end = start + bigness;
curs = end;
break;
default: /* '+' */
start = lnum;
if (*kind == '+')
- start += bigness * (x - kind - 1) + 1;
+ start += bigness * (linenr_T)(x - kind - 1) + 1;
else if (eap->addr_count == 0)
++start;
end = start + bigness - 1;
* Avoids that ":s/\nB\@=//gc" get stuck. */
if (nmatch > 1)
{
- matchcol = STRLEN(sub_firstline);
+ matchcol = (colnr_T)STRLEN(sub_firstline);
nmatch = 1;
}
sub_nsubs++;
* Avoids that ":s/\nB\@=//gc" get stuck. */
if (nmatch > 1)
{
- matchcol = STRLEN(sub_firstline);
+ matchcol = (colnr_T)STRLEN(sub_firstline);
nmatch = 1;
}
goto skip;
if (got_int)
{
STRCPY(msg_buf, _("(Interrupted) "));
- len = STRLEN(msg_buf);
+ len = (int)STRLEN(msg_buf);
}
if (sub_nsubs == 1)
vim_snprintf((char *)msg_buf + len, sizeof(msg_buf) - len,
vim_snprintf((char *)msg_buf + len, sizeof(msg_buf) - len,
count_only ? _("%ld matches") : _("%ld substitutions"),
sub_nsubs);
- len = STRLEN(msg_buf);
+ len = (int)STRLEN(msg_buf);
if (sub_nlines == 1)
vim_snprintf((char *)msg_buf + len, sizeof(msg_buf) - len,
"%s", _(" on 1 line"));
/* Find first item with the requested language. */
for (i = 0; i < num_matches; ++i)
{
- len = STRLEN(matches[i]);
+ len = (int)STRLEN(matches[i]);
if (len > 3 && matches[i][len - 3] == '@'
&& STRICMP(matches[i] + len - 2, lang) == 0)
break;
check_help_lang(arg)
char_u *arg;
{
- int len = STRLEN(arg);
+ int len = (int)STRLEN(arg);
if (len >= 3 && arg[len - 3] == '@' && ASCII_ISALPHA(arg[len - 2])
&& ASCII_ISALPHA(arg[len - 1]))
ga_init2(&ga, 1, 10);
for (i = 0; i < filecount; ++i)
{
- len = STRLEN(files[i]);
+ len = (int)STRLEN(files[i]);
if (len > 4)
{
if (STRICMP(files[i] + len - 4, ".txt") == 0)
got_int = TRUE;
else
{
- s = alloc(18 + STRLEN(tagfname));
+ s = alloc(18 + (unsigned)STRLEN(tagfname));
if (s == NULL)
got_int = TRUE;
else
for (s = arg; s < p; ++s)
if (!vim_isprintc(*s))
break;
- cells = s - arg;
+ cells = (int)(s - arg);
}
/* Currently must be one or two display cells */
if (s != p || cells < 1 || cells > 2)
vim_free(sp->sn_text);
/* Allocate one byte more if we need to pad up
* with a space. */
- len = p - arg + ((cells == 1) ? 1 : 0);
+ len = (int)(p - arg + ((cells == 1) ? 1 : 0));
sp->sn_text = vim_strnsave(arg, len);
if (sp->sn_text != NULL && cells == 1)
int len;
e = skiptowhite(eap->arg);
- len = e - eap->arg;
+ len = (int)(e - eap->arg);
e = skipwhite(e);
if (len == 5 && STRNCMP(eap->arg, "start", 5) == 0 && *e != NUL)
#ifdef FEAT_USR_CMDS
if (!USER_CMDIDX(ea.cmdidx))
#endif
- ea.argt = cmdnames[(int)ea.cmdidx].cmd_argt;
+ ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt;
if (!ea.skip)
{
eap->cmdidx = CMD_USER;
else
eap->cmdidx = CMD_USER_BUF;
- eap->argt = uc->uc_argt;
+ eap->argt = (long)uc->uc_argt;
eap->useridx = j;
# ifdef FEAT_CMDL_COMPL
#ifdef FEAT_USR_CMDS
if (!USER_CMDIDX(ea.cmdidx))
#endif
- ea.argt = cmdnames[(int)ea.cmdidx].cmd_argt;
+ ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt;
arg = skipwhite(p);
for (i = 0; i < gap->ga_len; ++i)
{
cmd = USER_CMD_GA(gap, i);
- a = cmd->uc_argt;
+ a = (long)cmd->uc_argt;
/* Skip commands which don't match the requested prefix */
if (STRNCMP(name, cmd->uc_name, name_len) != 0)
regmatch.rm_ic = p_ic;
p = ml_get_curline();
if (vim_regexec(®match, p, (colnr_T)0))
- curwin->w_cursor.col = regmatch.startp[0] - p;
+ curwin->w_cursor.col = (colnr_T)(regmatch.startp[0] - p);
else
EMSG(_(e_nomatch));
vim_free(regmatch.regprog);
mesg = excp->messages->throw_msg;
if (cmdname != NULL && *cmdname != NUL)
{
- cmdlen = STRLEN(cmdname);
+ cmdlen = (int)STRLEN(cmdname);
excp->value = vim_strnsave((char_u *)"Vim(",
4 + cmdlen + 2 + (int)STRLEN(mesg));
if (excp->value == NULL)
if (p != NULL && realloc_cmdbuff((int)STRLEN(p) + 1) == OK)
{
- ccline.cmdlen = STRLEN(p);
+ ccline.cmdlen = (int)STRLEN(p);
STRCPY(ccline.cmdbuff, p);
vim_free(p);
--w;
}
}
- len = (ccline.cmdbuff + ccline.cmdlen) - w;
+ len = (int)((ccline.cmdbuff + ccline.cmdlen) - w);
if (p_ic ? STRNICMP(w, arg, len) == 0 : STRNCMP(w, arg, len) == 0)
p += len;
}
{
ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT);
for (len = 0, i = 0; i < num_p; ++i)
- len += (long_u)STRLEN(p[i]) + 1;
+ len += (int)STRLEN(p[i]) + 1;
/* Concatenate new results to previous ones. */
if (ga_grow(&ga, len) == OK)
vim_free(hisptr->hisstr);
/* Store the separator after the NUL of the string. */
- len = STRLEN(new_entry);
+ len = (int)STRLEN(new_entry);
hisptr->hisstr = vim_strnsave(new_entry, len + 2);
if (hisptr->hisstr != NULL)
hisptr->hisstr[len + 1] = sep;
* multiple of 2
* ucs-4 to utf-8: 4 bytes become up to 6 bytes, size must be
* multiple of 4 */
- real_size = size;
+ real_size = (int)size;
# ifdef USE_ICONV
if (iconv_fd != (iconv_t)-1)
size = size / ICONV_MULT;
/* Filled up to "size", append partial line.
* Change NL to NUL to reverse the effect done
* below. */
- n = size - tlen;
+ n = (int)(size - tlen);
for (ni = 0; ni < n; ++ni)
{
if (p[ni] == NL)
/* Handle CP_UTF8 input ourselves to be able to handle
* trailing bytes properly.
* Get one UTF-8 character from src. */
- bytelen = utf_ptr2len_len(src, size);
+ bytelen = (int)utf_ptr2len_len(src, size);
if (bytelen > size)
{
/* Only got some bytes of a character. Normally
* the data doesn't fit in this encoding. */
dstlen = WideCharToMultiByte(enc_codepage, 0,
(LPCWSTR)ucs2buf, ucs2len,
- (LPSTR)dst, (src - dst),
+ (LPSTR)dst, (int)(src - dst),
replstr, &bad);
if (bad)
found_bad = TRUE;
}
/* The new size is equal to how much "dst" was advanced. */
- size = dst - ptr;
+ size = (long)(dst - ptr);
}
else
# endif
* read in the previous read() call. */
for (p = ptr - utf_head_off(buffer, ptr); ; ++p)
{
- int todo = (ptr + size) - p;
+ int todo = (int)((ptr + size) - p);
int l;
if (todo <= 0)
if (errmsg != NULL)
{
- int numlen = errnum != NULL ? STRLEN(errnum) : 0;
+ int numlen = errnum != NULL ? (int)STRLEN(errnum) : 0;
attr = hl_attr(HLF_E); /* set highlight for error messages */
msg_add_fname(buf,
* The buffer has been allocated to be big enough. */
while (fromlen > 0)
{
- n = utf_ptr2len_len(from, fromlen);
+ n = (int)utf_ptr2len_len(from, (int)fromlen);
if (n > (int)fromlen) /* incomplete byte sequence */
break;
u8c = utf_ptr2char(from);
return FAIL;
}
mch_memmove(ip->bw_rest, from, fromlen);
- ip->bw_restlen = fromlen;
+ ip->bw_restlen = (int)fromlen;
}
else
{
* buffer. The buffer has been allocated to be big enough. */
ip->bw_restlen = 0;
needed = MultiByteToWideChar(enc_codepage,
- MB_ERR_INVALID_CHARS, (LPCSTR)from, fromlen,
+ MB_ERR_INVALID_CHARS, (LPCSTR)from, (int)fromlen,
NULL, 0);
if (needed == 0)
{
/* When conversion fails there may be a trailing byte. */
needed = MultiByteToWideChar(enc_codepage,
- MB_ERR_INVALID_CHARS, (LPCSTR)from, fromlen - 1,
+ MB_ERR_INVALID_CHARS, (LPCSTR)from, (int)fromlen - 1,
NULL, 0);
if (needed == 0)
{
ip->bw_restlen = 1;
}
needed = MultiByteToWideChar(enc_codepage, MB_ERR_INVALID_CHARS,
- (LPCSTR)from, fromlen - ip->bw_restlen,
+ (LPCSTR)from, (int)(fromlen - ip->bw_restlen),
(LPWSTR)to, needed);
if (needed == 0)
{
return FAIL;
}
}
- len = to - buf;
+ len = (int)(to - buf);
}
else
#endif
* fail. */
len = WideCharToMultiByte(FIO_GET_CP(flags), 0,
(LPCWSTR)ip->bw_conv_buf, (int)fromlen / sizeof(WCHAR),
- (LPSTR)to, ip->bw_conv_buflen - fromlen, 0, &bad);
+ (LPSTR)to, (int)(ip->bw_conv_buflen - fromlen), 0, &bad);
if (bad)
{
ip->bw_conv_error = TRUE;
/* normalize pat into standard "<buffer>#N" form */
sprintf((char *)buflocal_pat, "<buffer=%d>", buflocal_nr);
pat = buflocal_pat; /* can modify pat and patlen */
- patlen = STRLEN(buflocal_pat); /* but not endpat */
+ patlen = (int)STRLEN(buflocal_pat); /* but not endpat */
}
/*
/* Ignore leading and trailing white space in 'commentstring'. */
cms_start = skipwhite(curbuf->b_p_cms);
- cms_slen = STRLEN(cms_start);
+ cms_slen = (int)STRLEN(cms_start);
while (cms_slen > 0 && vim_iswhite(cms_start[cms_slen - 1]))
--cms_slen;
cms_end = (char_u *)strstr((char *)cms_start, "%s");
if (cms_end != NULL)
{
- cms_elen = cms_slen - (cms_end - cms_start);
- cms_slen = cms_end - cms_start;
+ cms_elen = cms_slen - (int)(cms_end - cms_start);
+ cms_slen = (int)(cms_end - cms_start);
/* exclude white space before "%s" */
while (cms_slen > 0 && vim_iswhite(cms_start[cms_slen - 1]))
/* skip "%s" and white space after it */
s = skipwhite(cms_end + 2);
- cms_elen -= s - cms_end;
+ cms_elen -= (int)(s - cms_end);
cms_end = s;
}
parseMarker(curwin);
if (p >= str + cms_slen
&& STRNCMP(p - cms_slen, cms_start, cms_slen) == 0)
{
- len += (s - p) + cms_slen;
+ len += (int)(s - p) + cms_slen;
s = p - cms_slen;
}
}
TRUE);
if (p == NULL)
return; /* no space, just forget it */
- buf->bh_space = len - slen;
+ buf->bh_space = (int)(len - slen);
vim_strncpy(p->b_str, s, (size_t)slen);
p->b_next = buf->bh_curr->b_next;
/* Put the cursor back where it was */
gui.row = old_row;
gui.col = old_col;
- gui.highlight_mask = old_hl_mask;
+ gui.highlight_mask = (int)old_hl_mask;
return retval;
}
if (curwin->w_leftcol == scrollbar_value)
return FALSE;
- curwin->w_leftcol = scrollbar_value;
+ curwin->w_leftcol = (colnr_T)scrollbar_value;
/* When the line of the cursor is too short, move the cursor to the
* longest visible line. Do a sanity check on "longest_lnum", just in
{
long_u rgb = gui_mch_get_rgb(pixel);
- return ( (((rgb >> 16) & 0xff) * 299)
- + (((rgb >> 8) & 0xff) * 587)
- + ((rgb & 0xff) * 114)) / 1000;
+ return (int)( (((rgb >> 16) & 0xff) * 299)
+ + (((rgb >> 8) & 0xff) * 587)
+ + ((rgb & 0xff) * 114)) / 1000;
}
#if defined(FEAT_GUI_X11) || defined(PROTO)
text = vim_strsave(text);
if (text != NULL)
{
- int len = STRLEN(text);
+ int len = (int)STRLEN(text);
int i;
/* Remove "\V" */
static VOID CALLBACK BevalTimerProc __ARGS((HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime));
static BalloonEval *cur_beval = NULL;
-static UINT BevalTimerId = 0;
+static UINT_PTR BevalTimerId = 0;
static DWORD LastActivity = 0;
/*
case WM_CHAR:
/* Don't use HANDLE_MSG() for WM_CHAR, it truncates wParam to a single
* byte while we want the UTF-16 character value. */
- _OnChar(hwnd, wParam, (int)(short)LOWORD(lParam));
+ _OnChar(hwnd, (UINT)wParam, (int)(short)LOWORD(lParam));
return 0L;
case WM_SYSCHAR:
)
#endif
{
- _OnSysChar(hwnd, wParam, (int)(short)LOWORD(lParam));
+ _OnSysChar(hwnd, (UINT)wParam, (int)(short)LOWORD(lParam));
return 0L;
}
#ifdef FEAT_MENU
infow.wID = menu->id;
infow.fType = MFT_STRING;
infow.dwTypeData = wn;
- infow.cch = wcslen(wn);
+ infow.cch = (UINT)wcslen(wn);
infow.hSubMenu = menu->submenu_id;
n = InsertMenuItemW((parent == NULL)
? s_menuBar : parent->submenu_id,
if (last_white != NULL)
{
/* break the line just after a space */
- ga.ga_len -= pend - (last_white + 1);
+ ga.ga_len -= (int)(pend - (last_white + 1));
pend = last_white + 1;
last_white = NULL;
}
if (wn != NULL)
{
wcscpy(lpWCStr, wn);
- nChar = wcslen(wn) + 1;
+ nChar = (int)wcslen(wn) + 1;
vim_free(wn);
}
}
{
/* Backslashes are only special when followed by a double
* quote. */
- i = strspn(p, "\\");
+ i = (int)strspn(p, "\\");
if (p[i] == '"')
{
/* Halve the number of backslashes. */
if (line[col] == TAB || tab_spaces != 0)
{
if (tab_spaces == 0)
- tab_spaces = curbuf->b_p_ts - (print_pos % curbuf->b_p_ts);
+ tab_spaces = (int)(curbuf->b_p_ts - (print_pos % curbuf->b_p_ts));
while (tab_spaces > 0)
{
}
ppos->lead_spaces = tab_spaces;
- ppos->print_pos = print_pos;
+ ppos->print_pos = (int)print_pos;
/*
* Start next line of file if we clip lines, or have reached end of the
prt_write_file(buffer)
char_u *buffer;
{
- prt_write_file_len(buffer, STRLEN(buffer));
+ prt_write_file_len(buffer, (int)STRLEN(buffer));
}
static void
vim_memset(prt_resfile.buffer, NUL, PRT_FILE_BUFFER_LEN);
/* Parse first line to ensure valid resource file */
- prt_resfile.len = fread((char *)prt_resfile.buffer, sizeof(char_u),
+ prt_resfile.len = (int)fread((char *)prt_resfile.buffer, sizeof(char_u),
PRT_FILE_BUFFER_LEN, fd_resource);
if (ferror(fd_resource))
{
offset = 0;
if (prt_resfile_strncmp(offset, PRT_RESOURCE_HEADER,
- STRLEN(PRT_RESOURCE_HEADER)) != 0)
+ (int)STRLEN(PRT_RESOURCE_HEADER)) != 0)
{
EMSG2(_("E618: file \"%s\" is not a PostScript resource file"),
resource->filename);
}
/* Skip over any version numbers and following ws */
- offset += STRLEN(PRT_RESOURCE_HEADER);
+ offset += (int)STRLEN(PRT_RESOURCE_HEADER);
offset = prt_resfile_skip_nonws(offset);
if (offset == -1)
return FALSE;
return FALSE;
if (prt_resfile_strncmp(offset, PRT_RESOURCE_RESOURCE,
- STRLEN(PRT_RESOURCE_RESOURCE)) != 0)
+ (int)STRLEN(PRT_RESOURCE_RESOURCE)) != 0)
{
EMSG2(_("E619: file \"%s\" is not a supported PostScript resource file"),
resource->filename);
fclose(fd_resource);
return FALSE;
}
- offset += STRLEN(PRT_RESOURCE_RESOURCE);
+ offset += (int)STRLEN(PRT_RESOURCE_RESOURCE);
/* Decide type of resource in the file */
if (prt_resfile_strncmp(offset, PRT_RESOURCE_PROCSET,
- STRLEN(PRT_RESOURCE_PROCSET)) == 0)
+ (int)STRLEN(PRT_RESOURCE_PROCSET)) == 0)
resource->type = PRT_RESOURCE_TYPE_PROCSET;
else if (prt_resfile_strncmp(offset, PRT_RESOURCE_ENCODING,
- STRLEN(PRT_RESOURCE_ENCODING)) == 0)
+ (int)STRLEN(PRT_RESOURCE_ENCODING)) == 0)
resource->type = PRT_RESOURCE_TYPE_ENCODING;
else if (prt_resfile_strncmp(offset, PRT_RESOURCE_CMAP,
- STRLEN(PRT_RESOURCE_CMAP)) == 0)
+ (int)STRLEN(PRT_RESOURCE_CMAP)) == 0)
resource->type = PRT_RESOURCE_TYPE_CMAP;
else
{
*pp_mbenc = NULL;
/* Look for recognised encoding */
- enc_len = STRLEN(p_encoding);
+ enc_len = (int)STRLEN(p_encoding);
p_mbenc = p_cmap->encodings;
for (mbenc = 0; mbenc < p_cmap->num_encodings; mbenc++)
{
/* Look for recognised character set, using default if one is not given */
if (*p_charset == NUL)
p_charset = p_cmap->defcs;
- char_len = STRLEN(p_charset);
+ char_len = (int)STRLEN(p_charset);
p_mbchar = p_cmap->charsets;
for (mbchar = 0; mbchar < p_cmap->num_charsets; mbchar++)
{
}
if (bytes_read == 0)
break;
- prt_write_file_raw_len(resource_buffer, bytes_read);
+ prt_write_file_raw_len(resource_buffer, (int)bytes_read);
if (prt_file_error)
{
fclose(fd_resource);
mch_print_set_bg(bgcol)
long_u bgcol;
{
- prt_bgcol = bgcol;
+ prt_bgcol = (int)bgcol;
prt_attribute_change = TRUE;
prt_need_bgcol = TRUE;
}
{
if (fgcol != (long_u)prt_fgcol)
{
- prt_fgcol = fgcol;
+ prt_fgcol = (int)fgcol;
prt_attribute_change = TRUE;
prt_need_fgcol = TRUE;
}
hashtab_T *ht;
int off;
{
- int todo;
+ long todo;
hashitem_T *hi;
- todo = ht->ht_used;
+ todo = (long)ht->ht_used;
for (hi = ht->ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
* - skip over a removed item
* - return if the item matches
*/
- idx = hash & ht->ht_mask;
+ idx = (int)(hash & ht->ht_mask);
hi = &ht->ht_array[idx];
if (hi->hi_key == NULL)
#ifdef HT_DEBUG
++hash_count_perturb; /* count a "miss" for hashtab lookup */
#endif
- idx = (idx << 2) + idx + perturb + 1;
+ idx = (int)((idx << 2) + idx + perturb + 1);
hi = &ht->ht_array[idx & ht->ht_mask];
if (hi->hi_key == NULL)
return freeitem == NULL ? hi : freeitem;
{
/* Use specified size. */
if ((long_u)minitems < ht->ht_used) /* just in case... */
- minitems = ht->ht_used;
+ minitems = (int)ht->ht_used;
minsize = minitems * 3 / 2; /* array is up to 2/3 full */
}
* is also a cleanup action.
*/
newmask = newsize - 1;
- todo = ht->ht_used;
+ todo = (int)ht->ht_used;
for (olditem = oldarray; todo > 0; ++olditem)
if (!HASHITEM_EMPTY(olditem))
{
* the algorithm to find an item in hash_lookup(). But we only
* need to search for a NULL key, thus it's simpler.
*/
- newi = olditem->hi_hash & newmask;
+ newi = (int)(olditem->hi_hash & newmask);
newitem = &newarray[newi];
if (newitem->hi_key != NULL)
for (perturb = olditem->hi_hash; ; perturb >>= PERTURB_SHIFT)
{
- newi = (newi << 2) + newi + perturb + 1;
+ newi = (int)((newi << 2) + newi + perturb + 1);
newitem = &newarray[newi & newmask];
if (newitem->hi_key == NULL)
break;
/* if filename is a directory, append the cscope database name to it */
if ((statbuf.st_mode & S_IFMT) == S_IFDIR)
{
- fname2 = (char *)alloc(strlen(CSCOPE_DBFILE) + strlen(fname) + 2);
+ fname2 = (char *)alloc((unsigned)(strlen(CSCOPE_DBFILE) + strlen(fname) + 2));
if (fname2 == NULL)
goto add_err;
return NULL;
}
- if ((cmd = (char *)alloc(strlen(pattern) + 2)) == NULL)
+ if ((cmd = (char *)alloc((unsigned)(strlen(pattern) + 2))) == NULL)
return NULL;
(void)sprintf(cmd, "%d%s", search, pattern);
char *prog, *cmd, *ppath = NULL;
#ifndef UNIX
int in_save, out_save, err_save;
- int ph;
+ long ph;
# ifdef FEAT_GUI
HWND activewnd = NULL;
HWND consolewnd = NULL;
expand_env((char_u *)p_csprg, (char_u *)prog, MAXPATHL);
/* alloc space to hold the cscope command */
- len = strlen(prog) + strlen(csinfo[i].fname) + 32;
+ len = (int)(strlen(prog) + strlen(csinfo[i].fname) + 32);
if (csinfo[i].ppath)
{
/* expand the prepend path for env var's */
}
expand_env((char_u *)csinfo[i].ppath, (char_u *)ppath, MAXPATHL);
- len += strlen(ppath);
+ len += (int)strlen(ppath);
}
if (csinfo[i].flags)
- len += strlen(csinfo[i].flags);
+ len += (int)strlen(csinfo[i].flags);
if ((cmd = (char *)alloc(len)) == NULL)
{
/* May be use &shell, &shellquote etc */
# ifdef __BORLANDC__
/* BCC 5.5 uses a different function name for spawnlp */
- ph = spawnlp(P_NOWAIT, prog, cmd, NULL);
+ ph = (long)spawnlp(P_NOWAIT, prog, cmd, NULL);
# else
- ph = _spawnlp(_P_NOWAIT, prog, cmd, NULL);
+ ph = (long)_spawnlp(_P_NOWAIT, prog, cmd, NULL);
# endif
vim_free(prog);
vim_free(cmd);
if (!verbose)
return FALSE;
- buf = (char *)alloc(strlen(opt) + strlen(pat) + strlen(nf));
+ buf = (char *)alloc((unsigned)(strlen(opt) + strlen(pat) + strlen(nf)));
if (buf == NULL)
(void)EMSG(nf);
else
if (strchr(CSQF_FLAGS, *qfpos) == NULL)
{
char *nf = _("E469: invalid cscopequickfix flag %c for %c");
- char *buf = (char *)alloc(strlen(nf));
+ char *buf = (char *)alloc((unsigned)strlen(nf));
/* strlen will be enough because we use chars */
if (buf != NULL)
return -1;
}
- if ((csinfo[i].fname = (char *)alloc(strlen(fname)+1)) == NULL)
+ if ((csinfo[i].fname = (char *)alloc((unsigned)strlen(fname)+1)) == NULL)
return -1;
(void)strcpy(csinfo[i].fname, (const char *)fname);
if (ppath != NULL)
{
- if ((csinfo[i].ppath = (char *)alloc(strlen(ppath) + 1)) == NULL)
+ if ((csinfo[i].ppath = (char *)alloc((unsigned)strlen(ppath) + 1)) == NULL)
{
vim_free(csinfo[i].fname);
csinfo[i].fname = NULL;
if (flags != NULL)
{
- if ((csinfo[i].flags = (char *)alloc(strlen(flags) + 1)) == NULL)
+ if ((csinfo[i].flags = (char *)alloc((unsigned)strlen(flags) + 1)) == NULL)
{
vim_free(csinfo[i].fname);
vim_free(csinfo[i].ppath);
if (search != NULL)
{
- amt = strlen(fname) + strlen(slno) + strlen(tagstr) + strlen(search)+6;
+ amt = (int)(strlen(fname) + strlen(slno) + strlen(tagstr) + strlen(search)+6);
if ((buf = (char *)alloc(amt)) == NULL)
return NULL;
}
else
{
- amt = strlen(fname) + strlen(slno) + strlen(tagstr) + 5;
+ amt = (int)(strlen(fname) + strlen(slno) + strlen(tagstr) + 5);
if ((buf = (char *)alloc(amt)) == NULL)
return NULL;
&slno, &search)) == NULL)
continue;
- context = (char *)alloc(strlen(cntx)+5);
+ context = (char *)alloc((unsigned)strlen(cntx)+5);
if (context==NULL)
continue;
assert (num_matches > 0);
- if ((tbuf = (char *)alloc(strlen(matches[0]) + 1)) == NULL)
+ if ((tbuf = (char *)alloc((unsigned)strlen(matches[0]) + 1)) == NULL)
return;
strcpy(tbuf, matches[0]);
ptag = strtok(tbuf, "\t");
- newsize = strlen(cstag_msg) + strlen(ptag);
+ newsize = (int)(strlen(cstag_msg) + strlen(ptag));
buf = (char *)alloc(newsize);
if (buf != NULL)
{
* by parsing matches[i] on the fly and placing stuff into buf
* directly, but that's too much of a hassle
*/
- if ((tbuf = (char *)alloc(strlen(matches[idx]) + 1)) == NULL)
+ if ((tbuf = (char *)alloc((unsigned)strlen(matches[idx]) + 1)) == NULL)
continue;
(void)strcpy(tbuf, matches[idx]);
lno[strlen(lno)-2] = '\0'; /* ignore ;" at the end */
/* hopefully 'num' (num of matches) will be less than 10^16 */
- newsize = strlen(csfmt_str) + 16 + strlen(lno);
+ newsize = (int)(strlen(csfmt_str) + 16 + strlen(lno));
if (bufsize < newsize)
{
buf = (char *)vim_realloc(buf, newsize);
context = cntxts[idx];
else
context = globalcntx;
- newsize = strlen(context) + strlen(cntxformat);
+ newsize = (int)(strlen(context) + strlen(cntxformat));
if (bufsize < newsize)
{
char *cs_emsg;
int maxlen;
static char *eprompt = "Press the RETURN key to continue:";
- int epromptlen = strlen(eprompt);
+ int epromptlen = (int)strlen(eprompt);
int n;
cs_emsg = _("E609: Cscope error: %s");
* fullname is freed after cs_make_vim_style_matches, after it's been
* copied into the tag buffer used by vim
*/
- len = strlen(name) + 2;
+ len = (int)(strlen(name) + 2);
if (csinfo[i].ppath != NULL)
- len += strlen(csinfo[i].ppath);
+ len += (int)strlen(csinfo[i].ppath);
if ((fullname = (char *)alloc(len)) == NULL)
return NULL;
line = rb_lastline_get();
if (!NIL_P(line)) {
if (TYPE(line) != T_STRING) {
- EMSG("E265: $_ must be an instance of String");
+ EMSG(_("E265: $_ must be an instance of String"));
return;
}
ml_replace(i, (char_u *) STR2CSTR(line), 1);
switch (state) {
case TAG_RETURN:
- EMSG("E267: unexpected return");
+ EMSG(_("E267: unexpected return"));
break;
case TAG_NEXT:
- EMSG("E268: unexpected next");
+ EMSG(_("E268: unexpected next"));
break;
case TAG_BREAK:
- EMSG("E269: unexpected break");
+ EMSG(_("E269: unexpected break"));
break;
case TAG_REDO:
- EMSG("E270: unexpected redo");
+ EMSG(_("E270: unexpected redo"));
break;
case TAG_RETRY:
- EMSG("E271: retry outside of rescue clause");
+ EMSG(_("E271: retry outside of rescue clause"));
break;
case TAG_RAISE:
case TAG_FATAL:
eclass = CLASS_OF(ruby_errinfo);
einfo = rb_obj_as_string(ruby_errinfo);
if (eclass == rb_eRuntimeError && RSTRING(einfo)->len == 0) {
- EMSG("E272: unhandled exception");
+ EMSG(_("E272: unhandled exception"));
}
else {
VALUE epath;
{
set_option_value((char_u *)"verbosefile", 0L,
(char_u *)argv[0] + argv_idx, 0);
- argv_idx = STRLEN(argv[0]);
+ argv_idx = (int)STRLEN(argv[0]);
}
break;
/* binary search in table */
bot = 0;
- top = size / sizeof(struct interval) - 1;
+ top = (int)(size / sizeof(struct interval) - 1);
while (top >= bot)
{
mid = (bot + top) / 2;
int i, j, l;
int cdiff;
int incomplete = FALSE;
- int n = nn;
+ int n = (int)nn;
for (i = 0; i < n; i += l)
{
}
sprintf((char *)IObuff + rlen, "%02x ", line[i]);
--clen;
- rlen += STRLEN(IObuff + rlen);
+ rlen += (int)STRLEN(IObuff + rlen);
if (rlen > IOSIZE - 20)
break;
}
|| utf_char2len(utf_ptr2char(p)) != len))
{
if (vimconv.vc_type == CONV_NONE)
- curwin->w_cursor.col += p - ml_get_cursor();
+ curwin->w_cursor.col += (colnr_T)(p - ml_get_cursor());
else
{
int l;
- len = p - tofree;
+ len = (int)(p - tofree);
for (p = ml_get_cursor(); *p != NUL && len-- > 0; p += l)
{
l = utf_ptr2len(p);
{
/* Handle an incomplete sequence at the end. */
*to = NUL;
- *unconvlenp = fromlen;
+ *unconvlenp = (int)fromlen;
break;
}
if ((*mb_ptr2cells)((char_u *)from) > 1)
*to++ = '?';
if (enc_utf8)
- l = utfc_ptr2len_len((char_u *)from, fromlen);
+ l = utfc_ptr2len_len((char_u *)from, (int)fromlen);
else
{
l = (*mb_ptr2len)((char_u *)from);
if (l > (int)fromlen)
- l = fromlen;
+ l = (int)fromlen;
}
from += l;
fromlen -= l;
{
int n;
- n = STRLEN(buf->b_p_fenc);
+ n = (int)STRLEN(buf->b_p_fenc);
if (STRLEN(b0p->b0_fname) + n + 1 > B0_FNAME_SIZE)
b0p->b0_flags &= ~B0_HAS_FENC;
else
for (p = b0p->b0_fname + B0_FNAME_SIZE;
p > b0p->b0_fname && p[-1] != NUL; --p)
;
- b0_fenc = vim_strnsave(p, b0p->b0_fname + B0_FNAME_SIZE - p);
+ b0_fenc = vim_strnsave(p, (int)(b0p->b0_fname + B0_FNAME_SIZE - p));
}
mf_put(mfp, hp, FALSE, FALSE); /* release block 0 */
if (usingNetbeans)
{
if (STRLEN(line) > 0)
- netbeans_inserted(buf, lnum+1, (colnr_T)0, line, STRLEN(line));
+ netbeans_inserted(buf, lnum+1, (colnr_T)0, line, (int)STRLEN(line));
netbeans_inserted(buf, lnum+1, (colnr_T)STRLEN(line),
(char_u *)"\n", 1);
}
if (usingNetbeans)
{
netbeans_removed(curbuf, lnum, 0, (long)STRLEN(ml_get(lnum)));
- netbeans_inserted(curbuf, lnum, 0, line, STRLEN(line));
+ netbeans_inserted(curbuf, lnum, 0, line, (int)STRLEN(line));
}
#endif
if (curbuf->b_ml.ml_line_lnum != lnum) /* other line buffered */
STRCPY(menu->strings[i] + 1, call_data);
if (c == Ctrl_C)
{
- int len = STRLEN(menu->strings[i]);
+ int len = (int)STRLEN(menu->strings[i]);
/* Append CTRL-\ CTRL-G to obey 'insertmode'. */
menu->strings[i][len] = Ctrl_BSL;
p = (char_u *)_("Unknown");
else
{
- len = STRLEN(p) + 40;
+ len = (int)STRLEN(p) + 40;
tofree = alloc(len);
if (tofree != NULL)
{
}
else
{
- len += STRLEN(message)
- + 2 /* for the NL's */
- + STRLEN(buttons)
- + 3; /* for the ": " and NUL */
- lenhotkey++; /* for the NUL */
+ len += (int)(STRLEN(message)
+ + 2 /* for the NL's */
+ + STRLEN(buttons)
+ + 3); /* for the ": " and NUL */
+ lenhotkey++; /* for the NUL */
/* If no hotkey is specified first char is used. */
if (!has_hotkey[0])
/* zero padding to specified minimal field width? */
if (!justify_left && zero_padding)
{
- int n = min_field_width - (str_arg_l
- + number_of_zeros_to_pad);
+ int n = (int)(min_field_width - (str_arg_l
+ + number_of_zeros_to_pad));
if (n > 0)
number_of_zeros_to_pad += n;
}
if (!justify_left)
{
/* left padding with blank or zero */
- int pn = min_field_width - (str_arg_l + number_of_zeros_to_pad);
+ int pn = (int)(min_field_width - (str_arg_l + number_of_zeros_to_pad));
if (pn > 0)
{
{
/* insert first part of numerics (sign or '0x') before zero
* padding */
- int zn = zero_padding_insertion_ind;
+ int zn = (int)zero_padding_insertion_ind;
if (zn > 0)
{
/* insert zero padding as requested by the precision or min
* field width */
- zn = number_of_zeros_to_pad;
+ zn = (int)number_of_zeros_to_pad;
if (zn > 0)
{
if (str_l < str_m)
/* insert formatted string
* (or as-is conversion specifier for unknown conversions) */
{
- int sn = str_arg_l - zero_padding_insertion_ind;
+ int sn = (int)(str_arg_l - zero_padding_insertion_ind);
if (sn > 0)
{
if (justify_left)
{
/* right blank padding to the field width */
- int pn = min_field_width - (str_arg_l + number_of_zeros_to_pad);
+ int pn = (int)(min_field_width - (str_arg_l + number_of_zeros_to_pad));
if (pn > 0)
{
/* Correct saved cursor position if it's after the indent. */
if (saved_cursor.lnum == curwin->w_cursor.lnum
&& saved_cursor.col >= (colnr_T)(p - oldline))
- saved_cursor.col += ind_len - (p - oldline);
+ saved_cursor.col += ind_len - (colnr_T)(p - oldline);
retval = TRUE;
}
else
mb_ptr_back(leader, p);
old_size += ptr2cells(p);
}
- l = lead_repl_len - (endp - p);
+ l = lead_repl_len - (int)(endp - p);
if (l != 0)
mch_memmove(endp + l, endp,
(size_t)((leader + lead_len) - endp));
/* Convert from active codepage to UTF-8. Other conversions are
* not done, because they would fail for non-ASCII characters. */
- acp_to_enc(var, STRLEN(var), &pp, &len);
+ acp_to_enc(var, (int)STRLEN(var), &pp, &len);
if (pp != NULL)
{
homedir = pp;
int startstr_len = 0;
if (startstr != NULL)
- startstr_len = STRLEN(startstr);
+ startstr_len = (int)STRLEN(startstr);
src = skipwhite(srcp);
--dstlen; /* leave one char space for "\," */
{
STRCPY(dst, var);
dstlen -= (int)STRLEN(var);
- c = STRLEN(var);
+ c = (int)STRLEN(var);
/* if var[] ends in a path separator and tail[] starts
* with it, skip a character */
if (*var != NUL && after_pathsep(dst, dst + c)
/* Convert from active codepage to UTF-8. Other conversions are
* not done, because they would fail for non-ASCII characters. */
- acp_to_enc(p, STRLEN(p), &pp, &len);
+ acp_to_enc(p, (int)STRLEN(p), &pp, &len);
if (pp != NULL)
{
p = pp;
/* Convert from active codepage to UTF-8. Other conversions
* are not done, because they would fail for non-ASCII
* characters. */
- acp_to_enc(p, STRLEN(p), &pp, &len);
+ acp_to_enc(p, (int)STRLEN(p), &pp, &len);
if (pp != NULL)
{
if (mustfree)
line = ml_get_curline();
p = skipwhite(line);
- len = skiptowhite(p) - p;
+ len = (int)(skiptowhite(p) - p);
if (len == 6 && STRNCMP(p, "static", 6) == 0)
{
p = skipwhite(p + 6);
- len = skiptowhite(p) - p;
+ len = (int)(skiptowhite(p) - p);
}
if (len == 6 && STRNCMP(p, "struct", 6) == 0)
p = skipwhite(p + 6);
{
/* Found ");" at end of the line, now check there is "while"
* before the matching '('. XXX */
- i = p - line;
+ i = (int)(p - line);
curwin->w_cursor.col = i;
trypos = find_match_paren(ind_maxparen, ind_maxcomment);
if (trypos != NULL)
* our matching '('. */
curwin->w_cursor.lnum = our_paren_pos.lnum;
line = ml_get_curline();
- look_col = look - line;
+ look_col = (int)(look - line);
curwin->w_cursor.col = look_col + 1;
if ((trypos = findmatchlimit(NULL, ')', 0, ind_maxparen))
!= NULL
int modifiers;
int bit;
int key;
- long_u n;
+ unsigned long n;
src = *srcp;
if (src[0] != '<')
static int nb_do_cmd __ARGS((int, char_u *, int, int, char_u *));
static void nb_send __ARGS((char *buf, char *fun));
-static int sd = -1; /* socket fd for Netbeans connection */
+#ifdef WIN64
+typedef __int64 NBSOCK;
+#else
+typedef int NBSOCK;
+#endif
+
+static NBSOCK sd = -1; /* socket fd for Netbeans connection */
#ifdef FEAT_GUI_MOTIF
static XtInputId inputHandler; /* Cookie for input */
#endif
#ifdef INET_SOCKETS
port = atoi(address);
- if ((sd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
+ if ((sd = (NBSOCK)socket(AF_INET, SOCK_STREAM, 0)) == (NBSOCK)-1)
{
PERROR("socket() in netbeans_connect()");
goto theend;
{
sock_close(sd);
#ifdef INET_SOCKETS
- if ((sd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
+ if ((sd = (NBSOCK)socket(AF_INET, SOCK_STREAM, 0)) == (NBSOCK)-1)
{
PERROR("socket()#2 in netbeans_connect()");
goto theend;
* prepend the text to that buffer and delete this one. */
if (node->next == &head)
return;
- p = alloc(STRLEN(node->buffer) + STRLEN(node->next->buffer) + 1);
+ p = alloc((unsigned)(STRLEN(node->buffer) + STRLEN(node->next->buffer) + 1));
if (p == NULL)
return; /* out of memory */
STRCPY(p, node->buffer);
nbdebug(("EVT: %s", buf));
/* nb_send(buf, "netbeans_end"); avoid "write failed" messages */
if (sd >= 0)
- sock_write(sd, buf, STRLEN(buf)); /* ignore errors */
+ sock_write(sd, buf, (int)STRLEN(buf)); /* ignore errors */
}
}
EMSG2("E630: %s(): write while not connected", fun);
did_error = TRUE;
}
- else if (sock_write(sd, buf, STRLEN(buf)) != (int)STRLEN(buf))
+ else if (sock_write(sd, buf, (int)STRLEN(buf)) != (int)STRLEN(buf))
{
if (!did_error)
EMSG2("E631: %s(): write failed", fun);
nbdebug(("REP %d: %s\n", cmdno, (char *)result));
- reply = alloc(STRLEN(result) + 32);
+ reply = alloc((unsigned)STRLEN(result) + 32);
sprintf((char *)reply, "%d %s\n", cmdno, (char *)result);
nb_send((char *)reply, "nb_reply_text");
static char_u *
nb_quote(char_u *txt)
{
- char_u *buf = alloc(2 * STRLEN(txt) + 1);
+ char_u *buf = alloc((unsigned)(2 * STRLEN(txt) + 1));
char_u *p = txt;
char_u *q = buf;
int done = 0;
/* result is never longer than input */
- result = (char *)alloc_clear(STRLEN(p) + 1);
+ result = (char *)alloc_clear((unsigned)STRLEN(p) + 1);
if (result == NULL)
return NULL;
/* Insert halfway a line. For simplicity we assume we
* need to append to the line. */
- newline = alloc_check(STRLEN(oldline) + len + 1);
+ newline = alloc_check((unsigned)(STRLEN(oldline) + len + 1));
if (newline != NULL)
{
STRCPY(newline, oldline);
{
/* Append a new line. Not that we always do this,
* also when the text doesn't end in a "\n". */
- ml_append((linenr_T)(lnum - 1), args, len + 1, FALSE);
+ ml_append((linenr_T)(lnum - 1), args, (colnr_T)(len + 1), FALSE);
++added;
}
eol_size = 1;
for (lnum = 1; lnum <= bufp->b_ml.ml_line_count; ++lnum)
{
- char_count += STRLEN(ml_get(lnum)) + eol_size;
+ char_count += (long)STRLEN(ml_get(lnum)) + eol_size;
/* Check for a CTRL-C every 100000 characters */
if (char_count > last_check)
{
nbbuf_T *buf;
{
int lnum = buf->bufp->b_ml.ml_line_count;
- long nchars = buf->bufp->b_orig_size;
+ long nchars = (long)buf->bufp->b_orig_size;
char_u c;
msg_add_fname(buf->bufp, buf->bufp->b_ffname);
else
# endif
this_class = mb_get_class(ptr + col);
- while (col > 0)
+ while (col > 0 && this_class != 0)
{
prevcol = col - 1 - (*mb_head_off)(ptr, ptr + col - 1);
prev_class = mb_get_class(ptr + prevcol);
if (did_change)
{
ptr = ml_get(pos.lnum);
- count = STRLEN(ptr) - pos.col;
+ count = (int)STRLEN(ptr) - pos.col;
netbeans_removed(curbuf, pos.lnum, pos.col,
(long)count);
netbeans_inserted(curbuf, pos.lnum, pos.col,
#ifdef FEAT_MBYTE
if (has_mbyte)
{
- n = STRLEN(newp);
+ n = (int)STRLEN(newp);
while (--num_chars >= 0)
n += (*mb_char2bytes)(c, newp + n);
}
while (pos.lnum < oap->end.lnum)
{
ptr = ml_get_buf(curbuf, pos.lnum, FALSE);
- count = STRLEN(ptr) - pos.col;
+ count = (int)STRLEN(ptr) - pos.col;
netbeans_removed(curbuf, pos.lnum, pos.col, (long)count);
netbeans_inserted(curbuf, pos.lnum, pos.col,
&ptr[pos.col], count);
else
{
if (endcol == MAXCOL)
- endcol = STRLEN(p);
+ endcol = (colnr_T)STRLEN(p);
bd.textlen = endcol - startcol + oap->inclusive;
}
bd.textstart = p + startcol;
char_u buf2[NUMBUFLEN];
int hex; /* 'X' or 'x': hex; '0': octal */
static int hexupper = FALSE; /* 0xABC */
- long_u n;
+ unsigned long n;
long_u oldn;
char_u *ptr;
int c;
/* Skip register if there is more text than the maximum size. */
len = 0;
for (j = 0; j < num_lines; j++)
- len += STRLEN(y_regs[i].y_array[j]) + 1L;
+ len += (long)STRLEN(y_regs[i].y_array[j]) + 1L;
if (len > (long)max_kbyte * 1024L)
continue;
}
{
char_u *p;
int opt_idx;
- long n;
+ long_u n;
#ifdef FEAT_LANGMAP
langmap_init();
if (p != NULL && *p != NUL)
{
/* First time count the NUL, otherwise count the ','. */
- len = STRLEN(p) + 3;
+ len = (int)STRLEN(p) + 3;
if (ga_grow(&ga, len) == OK)
{
if (ga.ga_len > 0)
if (errmsg != NULL)
{
vim_strncpy(IObuff, (char_u *)_(errmsg), IOSIZE - 1);
- i = STRLEN(IObuff) + 2;
+ i = (int)STRLEN(IObuff) + 2;
if (i + (arg - startarg) < IOSIZE)
{
/* append the argument with the error */
char_u *s, *p;
int did_chartab = FALSE;
char_u **gvarp;
- int free_oldval = (options[opt_idx].flags & P_ALLOCED);
+ long_u free_oldval = (options[opt_idx].flags & P_ALLOCED);
/* Get the global option to compare with, otherwise we would have to check
* two values for all local options. */
if (varp == &(curbuf->b_p_spf))
{
- l = STRLEN(curbuf->b_p_spf);
+ l = (int)STRLEN(curbuf->b_p_spf);
if (l > 0 && (l < 4 || STRCMP(curbuf->b_p_spf + l - 4,
".add") != 0))
errmsg = e_invarg;
{
int opt_idx;
char_u *varp;
- int flags;
+ long_u flags;
opt_idx = findoption(name);
if (opt_idx == -1)
if (lenp == NULL)
{
- len_loc = STRLEN(str) + 1;
+ len_loc = (int)STRLEN(str) + 1;
lenp = &len_loc;
}
if (lenp == NULL)
{
- len_loc = wcslen(str) + 1;
+ len_loc = (int)wcslen(str) + 1;
lenp = &len_loc;
}
{
n = STRLEN(p_enc) + 1;
str = rawp + n;
- str_size = metadata.rawlen - n;
+ str_size = (int)(metadata.rawlen - n);
}
else
{
/* Use the length of our metadata if possible, but limit it to the
* GlobalSize() for safety. */
- maxlen = GlobalSize(hMemW) / sizeof(WCHAR);
+ maxlen = (int)(GlobalSize(hMemW) / sizeof(WCHAR));
if (metadata.ucslen >= 0)
{
if (metadata.ucslen > maxlen)
/* The length is either what our metadata says or the strlen().
* But limit it to the GlobalSize() for safety. */
- maxlen = GlobalSize(hMem);
+ maxlen = (int)GlobalSize(hMem);
if (metadata.txtlen >= 0)
{
if (metadata.txtlen > maxlen)
{
LPSTR lpszMemRaw;
- metadata.rawlen = txtlen + STRLEN(p_enc) + 1;
+ metadata.rawlen = (int)(txtlen + STRLEN(p_enc) + 1);
hMemRaw = (LPSTR)GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE,
metadata.rawlen + 1);
lpszMemRaw = (LPSTR)GlobalLock(hMemRaw);
* CoCreateInstance(), it's quite slow. */
if (fname == NULL)
return rfname;
- len = STRLEN(fname);
+ len = (int)STRLEN(fname);
if (len <= 4 || STRNICMP(fname + len - 4, ".lnk", 4) != 0)
return rfname;
data.dwData = COPYDATA_ENCODING;
#ifdef FEAT_MBYTE
- data.cbData = STRLEN(p_enc) + 1;
+ data.cbData = (DWORD)STRLEN(p_enc) + 1;
data.lpData = p_enc;
#else
data.cbData = STRLEN("latin1") + 1;
else
reply.dwData = COPYDATA_RESULT;
reply.lpData = res;
- reply.cbData = STRLEN(res) + 1;
+ reply.cbData = (DWORD)STRLEN(res) + 1;
serverSendEnc(sender);
- retval = SendMessage(sender, WM_COPYDATA, (WPARAM)message_window,
+ retval = (int)SendMessage(sender, WM_COPYDATA, (WPARAM)message_window,
(LPARAM)(&reply));
vim_free(res);
return retval;
char_u *p;
/* Leave enough space for a 9-digit suffix to ensure uniqueness! */
- ok_name = alloc(STRLEN(name) + 10);
+ ok_name = alloc((unsigned)STRLEN(name) + 10);
STRCPY(ok_name, name);
p = ok_name + STRLEN(name);
return -1;
data.dwData = COPYDATA_REPLY;
- data.cbData = STRLEN(reply) + 1;
+ data.cbData = (DWORD)STRLEN(reply) + 1;
data.lpData = reply;
serverSendEnc(target);
*(HWND *)ptarget = target;
data.dwData = asExpr ? COPYDATA_EXPR : COPYDATA_KEYS;
- data.cbData = STRLEN(cmd) + 1;
+ data.cbData = (DWORD)STRLEN(cmd) + 1;
data.lpData = cmd;
serverSendEnc(target);
mch_can_exe(char_u *name)
{
char_u buf[_MAX_PATH];
- int len = STRLEN(name);
+ int len = (int)STRLEN(name);
char_u *p;
if (len >= _MAX_PATH) /* safety check */
{
/* optimization: use one single write_chars for runs of text,
* rather than once per character It ain't curses, but it helps. */
- DWORD prefix = strcspn(s, "\n\r\b\a\033");
+ DWORD prefix = (DWORD)strcspn(s, "\n\r\b\a\033");
if (p_wd)
{
delete_lines(arg1);
}
- len -= p - s;
+ len -= (int)(p - s);
s = p + 1;
break;
for (done = 0; done < len; done += written)
{
/* (size_t) cast for Borland C 5.5 */
- todo = (size_t)(len - done) > sizeof(buf) ? sizeof(buf)
- : (size_t)(len - done);
+ todo = (DWORD)((size_t)(len - done) > sizeof(buf) ? sizeof(buf)
+ : (size_t)(len - done));
if (!BackupRead(sh, (LPBYTE)buf, todo, &readcnt,
FALSE, FALSE, context)
|| readcnt != todo
/* Get the header to find the length of the stream name. If
* the "readcount" is zero we have done all info streams. */
ZeroMemory(&sid, sizeof(WIN32_STREAM_ID));
- headersize = (char *)&sid.cStreamName - (char *)&sid.dwStreamId;
+ headersize = (int)((char *)&sid.cStreamName - (char *)&sid.dwStreamId);
if (!BackupRead(sh, (LPBYTE)&sid, headersize,
&readcount, FALSE, FALSE, &context)
|| readcount == 0)
/* Convert each Unicode argument to the current codepage. */
WideCharToMultiByte_alloc(GetACP(), 0,
- ArglistW[i], wcslen(ArglistW[i]) + 1,
+ ArglistW[i], (int)wcslen(ArglistW[i]) + 1,
(LPSTR *)&argv[i], &len, 0, 0);
if (argv[i] == NULL)
{
#
# FIRST AUTHOR Francis S.Lin <piaip@csie.ntu.edu.tw>, 2000
# FIRST RELEASE Thu Jun 14 14:24:17 CST 2001
+# MAINTAINER: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
#
-# Last update: 2005/01/27 07:03 (6.3)
+# Last update: $LastChangedDate: 2006-04-16 22:06:40 -0400 (dom, 16 apr 2006) $
+#
+# 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!
#
# To update, search pattern: /fuzzy\|^msgstr ""\(\n"\)\@!
#
#, c-format
msgid "%ld more lines"
-msgstr "還有 %ld 行 "
+msgstr "多了 %ld 行 "
#, c-format
msgid "%ld fewer lines"
-msgstr "å\8fªå\89© %ld 行 "
+msgstr "å°\91äº\86 %ld 行 "
msgid " (Interrupted)"
msgstr " (已中斷)"
if (*p == NUL || *p == TAB || totwidth + w > pum_width)
{
/* Display the text that fits or comes before a Tab. */
- screen_puts_len(s, p - s, row, col, attr);
+ screen_puts_len(s, (int)(p - s), row, col, attr);
col += width;
if (*p != TAB)
else
{
*e = NUL;
- ml_append(lnum++, p, e - p + 1, FALSE);
+ ml_append(lnum++, p, (int)(e - p + 1), FALSE);
*e = '\n';
p = e + 1;
}
extern void mch_print_start_line __ARGS((int margin, int page_line));
extern int mch_print_text_out __ARGS((char_u *p, int len));
extern void mch_print_set_font __ARGS((int iBold, int iItalic, int iUnderline));
-extern void mch_print_set_bg __ARGS((unsigned long bgcol));
-extern void mch_print_set_fg __ARGS((unsigned long fgcol));
+extern void mch_print_set_bg __ARGS((long_u bgcol));
+extern void mch_print_set_fg __ARGS((long_u fgcol));
extern char_u *mch_resolve_shortcut __ARGS((char_u *fname));
extern void win32_set_foreground __ARGS((void));
extern void serverInitMessaging __ARGS((void));
p = vim_strchr(p_str, '\n');
if (p)
- len = p - p_str + 1;
+ len = (int)(p - p_str + 1);
else
- len = STRLEN(p_str);
+ len = (int)STRLEN(p_str);
if (len > CMDBUFFSIZE - 2)
vim_strncpy(IObuff, p_str, CMDBUFFSIZE - 2);
if (!p_li) /* End of the list */
break;
- len = STRLEN(p_li->li_tv.vval.v_string);
+ len = (int)STRLEN(p_li->li_tv.vval.v_string);
if (len > CMDBUFFSIZE - 2)
len = CMDBUFFSIZE - 2;
{
if (vim_regexec(®match, IObuff, (colnr_T)0))
{
- int l = STRLEN(IObuff);
+ int l = (int)STRLEN(IObuff);
/* remove trailing CR, LF, spaces, etc. */
while (l > 0 && IObuff[l - 1] <= ' ')
{
/* For checking first word with a capital skip white space. */
if (cap_col == 0)
- cap_col = skipwhite(line) - line;
+ cap_col = (int)(skipwhite(line) - line);
/* To be able to spell-check over line boundaries copy the end of the
* current line into nextline[]. Above the start of the next line was
}
else
{
- v = STRLEN(line);
+ v = (long)STRLEN(line);
if (v < SPWORDLEN)
{
/* Short line, use it completely and append the start of the
pos = wp->w_cursor;
wp->w_cursor.lnum = lnum;
- wp->w_cursor.col = ptr - line;
+ wp->w_cursor.col = (colnr_T)(ptr - line);
len = spell_move_to(wp, FORWARD, TRUE, TRUE, &spell_hlf);
if (len == 0 || (int)wp->w_cursor.col > ptr - line)
{
/* no bad word found at line start, don't check until end of a
* word */
spell_hlf = HLF_COUNT;
- word_end = spell_to_word_end(ptr, wp->w_buffer) - line + 1;
+ word_end = (int)(spell_to_word_end(ptr, wp->w_buffer) - line + 1);
}
else
{
if (p_extra != NULL)
{
c_extra = NUL;
- n_extra = STRLEN(p_extra);
+ n_extra = (int)STRLEN(p_extra);
}
char_attr = sign_get_attr(text_sign, FALSE);
}
p = nextline + (prev_ptr - line) - nextlinecol;
else
p = prev_ptr;
- cap_col -= (prev_ptr - line);
+ cap_col -= (int)(prev_ptr - line);
len = spell_check(wp, p, &spell_hlf, &cap_col,
nochange);
word_end = v + len;
/* Remember that the good word continues at the
* start of the next line. */
checked_lnum = lnum + 1;
- checked_col = (p - nextline) + len - nextline_idx;
+ checked_col = (int)((p - nextline) + len - nextline_idx);
}
/* Turn index into actual attributes. */
/* Remember that the word in the next line
* must start with a capital. */
capcol_lnum = lnum + 1;
- cap_col = (p - nextline) + cap_col
- - nextline_idx;
+ cap_col = (int)((p - nextline) + cap_col
+ - nextline_idx);
}
else
/* Compute the actual column. */
- cap_col += (prev_ptr - line);
+ cap_col += (int)(prev_ptr - line);
}
}
}
buf, sizeof(buf),
p, use_sandbox,
fillchar, maxwidth, hltab, tabtab);
- len = STRLEN(buf);
+ len = (int)STRLEN(buf);
while (width < maxwidth && len < sizeof(buf) - 1)
{
if (wincount > 1)
{
vim_snprintf((char *)NameBuff, MAXPATHL, "%d", wincount);
- len = STRLEN(NameBuff);
+ len = (int)STRLEN(NameBuff);
if (col + len >= Columns - 3)
break;
screen_puts_len(NameBuff, len, 0, col,
if (len > Columns - col - 1)
len = Columns - col - 1;
- screen_puts_len(p, STRLEN(p), 0, col, attr);
+ screen_puts_len(p, (int)STRLEN(p), 0, col, attr);
col += len;
}
screen_putchar(' ', 0, col++, attr);
if (pos->lnum > buf->b_ml.ml_line_count)
{
pos->lnum = buf->b_ml.ml_line_count;
- pos->col = STRLEN(ml_get_buf(buf, pos->lnum, FALSE));
+ pos->col = (int)STRLEN(ml_get_buf(buf, pos->lnum, FALSE));
if (pos->col > 0)
--pos->col;
}
if (strcopy != ps)
{
/* made a copy of "pat" to change "\?" to "?" */
- searchcmdlen += STRLEN(pat) - STRLEN(strcopy);
+ searchcmdlen += (int)(STRLEN(pat) - STRLEN(strcopy));
pat = strcopy;
searchstr = strcopy;
}
}
pos.lnum = curwin->w_cursor.lnum;
- pos.col = p - line;
+ pos.col = (colnr_T)(p - line);
mb_ptr_adv(p);
if (end_tag)
p = ml_get_cursor();
for (cp = p; *cp != NUL && *cp != '>' && !vim_iswhite(*cp); mb_ptr_adv(cp))
;
- len = cp - p;
+ len = (int)(cp - p);
if (len == 0)
{
curwin->w_cursor = old_pos;
if (inc_opt != NULL && strstr((char *)inc_opt, "\\zs") != NULL)
/* Use text from '\zs' to '\ze' (or end) of 'include'. */
new_fname = find_file_name_in_path(incl_regmatch.startp[0],
- incl_regmatch.endp[0] - incl_regmatch.startp[0],
+ (int)(incl_regmatch.endp[0] - incl_regmatch.startp[0]),
FNAME_EXP|FNAME_INCL|FNAME_REL, 1L, p_fname);
else
/* Use text after match with 'include'. */
{
/* Nothing found, use the rest of the line. */
p = incl_regmatch.endp[0];
- i = STRLEN(p);
+ i = (int)STRLEN(p);
}
else
{
{
if (spats[idx].pat != NULL)
{
- fprintf(fp, "\n# Last %sSearch Pattern:\n~", s);
+ fprintf(fp, _("\n# Last %sSearch Pattern:\n~"), s);
/* off.dir is not stored, it's reset to forward */
fprintf(fp, "%c%c%c%c%ld%s%c",
spats[idx].magic ? 'M' : 'm', /* magic */
} wordcount_T;
static wordcount_T dumwc;
-#define WC_KEY_OFF (dumwc.wc_word - (char_u *)&dumwc)
+#define WC_KEY_OFF (unsigned)(dumwc.wc_word - (char_u *)&dumwc)
#define HI2WC(hi) ((wordcount_T *)((hi)->hi_key - WC_KEY_OFF))
#define MAXWORDCOUNT 0xffff
mi.mi_end = skiphex(ptr + 2);
else
mi.mi_end = skipdigits(ptr);
- nrlen = mi.mi_end - ptr;
+ nrlen = (int)(mi.mi_end - ptr);
}
/* Find the normal end of the word (until the next non-word character). */
(void)spell_casefold(ptr, (int)(mi.mi_fend - ptr), mi.mi_fword,
MAXWLEN + 1);
- mi.mi_fwordlen = STRLEN(mi.mi_fword);
+ mi.mi_fwordlen = (int)STRLEN(mi.mi_fword);
/* The word is bad unless we recognize it. */
mi.mi_result = SP_BAD;
mb_ptr_adv(fp);
if (p >= mi.mi_end)
break;
- mi.mi_compoff = fp - mi.mi_fword;
+ mi.mi_compoff = (int)(fp - mi.mi_fword);
find_word(&mi, FIND_COMPOUND);
if (mi.mi_result != SP_BAD)
{
{
for (s = ptr; s < ptr + wlen; mb_ptr_adv(s))
mb_ptr_adv(p);
- wlen = p - mip->mi_word;
+ wlen = (int)(p - mip->mi_word);
}
}
#endif
{
for (s = ptr; s < ptr + wlen; mb_ptr_adv(s))
mb_ptr_adv(p);
- mip->mi_compoff = p - mip->mi_fword;
+ mip->mi_compoff = (int)(p - mip->mi_fword);
}
}
#endif
(void)spell_casefold(p, (int)(mip->mi_fend - p),
mip->mi_fword + mip->mi_fwordlen,
MAXWLEN - mip->mi_fwordlen);
- flen = STRLEN(mip->mi_fword + mip->mi_fwordlen);
+ flen = (int)STRLEN(mip->mi_fword + mip->mi_fwordlen);
mip->mi_fwordlen += flen;
return flen;
}
{
line = ml_get_buf(wp->w_buffer, lnum, FALSE);
- len = STRLEN(line);
+ len = (int)STRLEN(line);
if (buflen < len + MAXWLEN + 2)
{
vim_free(buf);
/* For checking first word with a capital skip white space. */
if (capcol == 0)
- capcol = skipwhite(line) - line;
+ capcol = (int)(skipwhite(line) - line);
+ else if (curline && wp == curwin)
+ {
+ int col = (int)(skipwhite(line) - line);
+
+ /* For spellbadword(): check if first word needs a capital. */
+ if (check_need_cap(lnum, col))
+ capcol = col;
+
+ /* Need to get the line again, may have looked at the previous
+ * one. */
+ line = ml_get_buf(wp->w_buffer, lnum, FALSE);
+ }
/* Copy the line into "buf" and append the start of the next line if
* possible. */
# ifdef FEAT_SYN_HL
if (has_syntax)
{
- col = p - buf;
+ col = (int)(p - buf);
(void)syn_get_id(wp, lnum, (colnr_T)col,
FALSE, &can_spell);
}
if (can_spell)
{
found_pos.lnum = lnum;
- found_pos.col = p - buf;
+ found_pos.col = (int)(p - buf);
#ifdef FEAT_VIRTUALEDIT
found_pos.coladd = 0;
#endif
/* Skip the characters at the start of the next line that were
* included in a match crossing line boundaries. */
if (attr == HLF_COUNT)
- skip = p - endp;
+ skip = (int)(p - endp);
else
skip = 0;
- /* Capscol skips over the inserted space. */
+ /* Capcol skips over the inserted space. */
--capcol;
/* But after empty line check first word in next line */
{
*buf = ' ';
vim_strncpy(buf + 1, line, maxlen - 2);
- n = p - line;
+ n = (int)(p - line);
if (n >= maxlen)
n = maxlen - 1;
vim_memset(buf + 1, ' ', n);
break;
*p++ = c;
}
- smp->sm_leadlen = p - smp->sm_lead;
+ smp->sm_leadlen = (int)(p - smp->sm_lead);
*p++ = NUL;
/* Put (abc) chars in sm_oneof, if any. */
hi = hash_lookup(&lp->sl_wordcount, p, hash);
if (HASHITEM_EMPTY(hi))
{
- wc = (wordcount_T *)alloc(sizeof(wordcount_T) + STRLEN(p));
+ wc = (wordcount_T *)alloc((unsigned)(sizeof(wordcount_T) + STRLEN(p)));
if (wc == NULL)
return;
STRCPY(wc->wc_word, p);
s = p;
p = vim_strchr(p, '/');
if (p == NULL)
- l = STRLEN(s);
+ l = (int)STRLEN(s);
else
- l = p - s;
+ l = (int)(p - s);
if (l >= SY_MAXLEN)
return SP_FORMERROR;
if (ga_grow(&slang->sl_syl_items, 1) == FAIL)
copy_option_part(&splp, lang, MAXWLEN, ",");
region = NULL;
- len = STRLEN(lang);
+ len = (int)STRLEN(lang);
/* If the name ends in ".spl" use it as the name of the spell file.
* If there is a region name let "region" point to it and remove it
else
{
/* Append multi-byte chars to "b_spell_ismw_mb". */
- n = STRLEN(buf->b_spell_ismw_mb);
+ n = (int)STRLEN(buf->b_spell_ismw_mb);
bp = vim_strnsave(buf->b_spell_ismw_mb, n + l);
if (bp != NULL)
{
{
/* Concatenate this string to previously defined ones, using a
* slash to separate them. */
- l = STRLEN(items[1]) + 1;
+ l = (int)STRLEN(items[1]) + 1;
if (compflags != NULL)
- l += STRLEN(compflags) + 1;
+ l += (int)STRLEN(compflags) + 1;
p = getroom(spin, l, FALSE);
if (p != NULL)
{
/* Make room for the old and the new compflags, concatenated with a / in
* between. Processing it makes it shorter, but we don't know by how
* much, thus allocate the maximum. */
- len = STRLEN(compflags) + 1;
+ len = (int)STRLEN(compflags) + 1;
if (spin->si_compflags != NULL)
- len += STRLEN(spin->si_compflags) + 1;
+ len += (int)STRLEN(spin->si_compflags) + 1;
p = getroom(spin, len, FALSE);
if (p == NULL)
return;
if (ga_grow(gap, 1) == OK)
{
ftp = ((fromto_T *)gap->ga_data) + gap->ga_len;
- (void)spell_casefold(from, STRLEN(from), word, MAXWLEN);
+ (void)spell_casefold(from, (int)STRLEN(from), word, MAXWLEN);
ftp->ft_from = getroom_save(spin, word);
- (void)spell_casefold(to, STRLEN(to), word, MAXWLEN);
+ (void)spell_casefold(to, (int)STRLEN(to), word, MAXWLEN);
ftp->ft_to = getroom_save(spin, word);
++gap->ga_len;
}
/* All this trouble to free the "ae_prog" items... */
for (ht = &aff->af_pref; ; ht = &aff->af_suff)
{
- todo = ht->ht_used;
+ todo = (int)ht->ht_used;
for (hi = ht->ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
/* Remove CR, LF and white space from the end. White space halfway
* the word is kept to allow e.g., "et al.". */
- l = STRLEN(line);
+ l = (int)STRLEN(line);
while (l > 0 && line[l - 1] <= ' ')
--l;
if (l == 0)
size_t wordlen = STRLEN(word);
int use_condit;
- todo = ht->ht_used;
+ todo = (int)ht->ht_used;
for (hi = ht->ht_array; todo > 0 && retval == OK; ++hi)
{
if (!HASHITEM_EMPTY(hi))
{
/* Remove chop string. */
p = newword + STRLEN(newword);
- i = MB_CHARLEN(ae->ae_chop);
+ i = (int)MB_CHARLEN(ae->ae_chop);
for ( ; i > 0; --i)
mb_ptr_back(newword, p);
*p = NUL;
continue;
/* Remove CR, LF and white space from the end. */
- l = STRLEN(rline);
+ l = (int)STRLEN(rline);
while (l > 0 && rline[l - 1] <= ' ')
--l;
if (l == 0)
fname, lnum, line);
else
{
- spin->si_region_count = STRLEN(line) / 2;
+ spin->si_region_count = (int)STRLEN(line) / 2;
STRCPY(spin->si_region_name, line);
/* Adjust the mask for a word valid in all regions. */
}
p = bl->sb_data + bl->sb_used;
- bl->sb_used += len;
+ bl->sb_used += (int)len;
return p;
}
char_u *pfxlist; /* list of prefix IDs or NULL */
int need_affix; /* only store word with affix ID */
{
- int len = STRLEN(word);
+ int len = (int)STRLEN(word);
int ct = captype(word, word + len);
char_u foldword[MAXWLEN];
int res = OK;
n = np->wn_flags + (np->wn_region << 8) + (np->wn_affixID << 16);
else
/* byte node: use the byte value and the child pointer */
- n = np->wn_byte + ((long_u)np->wn_child << 8);
+ n = (unsigned)(np->wn_byte + ((long_u)np->wn_child << 8));
nr = nr * 101 + n;
}
putc(SN_INFO, fd); /* <sectionID> */
putc(0, fd); /* <sectionflags> */
- i = STRLEN(spin->si_info);
+ i = (int)STRLEN(spin->si_info);
put_bytes(fd, (long_u)i, 4); /* <sectionlen> */
fwrite(spin->si_info, (size_t)i, (size_t)1, fd); /* <infotext> */
}
putc(SN_MIDWORD, fd); /* <sectionID> */
putc(SNF_REQUIRED, fd); /* <sectionflags> */
- i = STRLEN(spin->si_midword);
+ i = (int)STRLEN(spin->si_midword);
put_bytes(fd, (long_u)i, 4); /* <sectionlen> */
fwrite(spin->si_midword, (size_t)i, (size_t)1, fd); /* <midword> */
}
for (i = 0; i < gap->ga_len; ++i)
{
ftp = &((fromto_T *)gap->ga_data)[i];
- l += 1 + STRLEN(ftp->ft_from); /* count <*fromlen> and <*from> */
- l += 1 + STRLEN(ftp->ft_to); /* count <*tolen> and <*to> */
+ l += 1 + (int)STRLEN(ftp->ft_from); /* count <*fromlen> and <*from> */
+ l += 1 + (int)STRLEN(ftp->ft_to); /* count <*tolen> and <*to> */
}
if (round == 2)
++l; /* count <salflags> */
for (rr = 1; rr <= 2; ++rr)
{
p = rr == 1 ? ftp->ft_from : ftp->ft_to;
- l = STRLEN(p);
+ l = (int)STRLEN(p);
putc(l, fd);
fwrite(p, l, (size_t)1, fd);
}
putc(SN_SOFO, fd); /* <sectionID> */
putc(0, fd); /* <sectionflags> */
- l = STRLEN(spin->si_sofofr);
+ l = (int)STRLEN(spin->si_sofofr);
put_bytes(fd, (long_u)(l + STRLEN(spin->si_sofoto) + 4), 4);
/* <sectionlen> */
put_bytes(fd, (long_u)l, 2); /* <sofofromlen> */
fwrite(spin->si_sofofr, l, (size_t)1, fd); /* <sofofrom> */
- l = STRLEN(spin->si_sofoto);
+ l = (int)STRLEN(spin->si_sofoto);
put_bytes(fd, (long_u)l, 2); /* <sofotolen> */
fwrite(spin->si_sofoto, l, (size_t)1, fd); /* <sofoto> */
}
int len = 0;
hashitem_T *hi;
- todo = spin->si_commonwords.ht_used;
+ todo = (int)spin->si_commonwords.ht_used;
for (hi = spin->si_commonwords.ht_array; todo > 0; ++hi)
if (!HASHITEM_EMPTY(hi))
{
- l = STRLEN(hi->hi_key) + 1;
+ l = (int)STRLEN(hi->hi_key) + 1;
len += l;
if (round == 2) /* <word> */
fwrite(hi->hi_key, (size_t)l, (size_t)1, fd);
putc(SN_COMPOUND, fd); /* <sectionID> */
putc(0, fd); /* <sectionflags> */
- l = STRLEN(spin->si_compflags);
+ l = (int)STRLEN(spin->si_compflags);
for (i = 0; i < spin->si_comppat.ga_len; ++i)
- l += STRLEN(((char_u **)(spin->si_comppat.ga_data))[i]) + 1;
+ l += (int)STRLEN(((char_u **)(spin->si_comppat.ga_data))[i]) + 1;
put_bytes(fd, (long_u)(l + 7), 4); /* <sectionlen> */
putc(spin->si_compmax, fd); /* <compmax> */
for (i = 0; i < spin->si_comppat.ga_len; ++i)
{
p = ((char_u **)(spin->si_comppat.ga_data))[i];
- putc(STRLEN(p), fd); /* <comppatlen> */
+ putc((int)STRLEN(p), fd); /* <comppatlen> */
fwrite(p, (size_t)STRLEN(p), (size_t)1, fd);/* <comppattext> */
}
/* <compflags> */
putc(SN_SYLLABLE, fd); /* <sectionID> */
putc(0, fd); /* <sectionflags> */
- l = STRLEN(spin->si_syllable);
+ l = (int)STRLEN(spin->si_syllable);
put_bytes(fd, (long_u)l, 4); /* <sectionlen> */
fwrite(spin->si_syllable, (size_t)l, (size_t)1, fd); /* <syllable> */
}
* Make the file name by changing ".spl" to ".sug".
*/
STRCPY(fname, wfname);
- len = STRLEN(fname);
+ len = (int)STRLEN(fname);
fname[len - 2] = 'u';
fname[len - 1] = 'g';
sug_write(spin, fname);
{
/* <sugline>: <sugnr> ... NUL */
line = ml_get_buf(spin->si_spellbuf, lnum, FALSE);
- len = STRLEN(line) + 1;
+ len = (int)STRLEN(line) + 1;
if (fwrite(line, (size_t)len, (size_t)1, fd) == 0)
{
EMSG(_(e_write));
if (fcount >= 1)
{
- len = STRLEN(fnames[0]);
+ len = (int)STRLEN(fnames[0]);
if (fcount == 1 && len > 4 && STRCMP(fnames[0] + len - 4, ".add") == 0)
{
/* For ":mkspell path/en.latin1.add" output file is
if (incount > 1)
{
- len = STRLEN(innames[i]);
+ len = (int)STRLEN(innames[i]);
if (STRLEN(gettail(innames[i])) < 5
|| innames[i][len - 3] != '_')
{
ex_spell(eap)
exarg_T *eap;
{
- spell_add_word(eap->arg, STRLEN(eap->arg), eap->cmdidx == CMD_spellwrong,
+ spell_add_word(eap->arg, (int)STRLEN(eap->arg), eap->cmdidx == CMD_spellwrong,
eap->forceit ? 0 : (int)eap->line2,
eap->cmdidx == CMD_spellundo);
}
else
{
/* Create the "spell" directory if it doesn't exist yet. */
- l = STRLEN(buf);
+ l = (int)STRLEN(buf);
vim_snprintf((char *)buf + l, MAXPATHL - l, "/spell");
if (!filewritable(buf) != 2)
vim_mkdir(buf, 0755);
- l = STRLEN(buf);
+ l = (int)STRLEN(buf);
vim_snprintf((char *)buf + l, MAXPATHL - l,
"/%.*s", (int)(lend - lstart), lstart);
}
- l = STRLEN(buf);
+ l = (int)STRLEN(buf);
fname = LANGP_ENTRY(curbuf->b_langp, 0)->lp_slang->sl_fname;
vim_snprintf((char *)buf + l, MAXPATHL - l, ".%s.add",
fname != NULL
p = ((char_u **)gap->ga_data)[i];
if (p != NULL)
{
- len = STRLEN(p);
+ len = (int)STRLEN(p);
if (fd != NULL)
{
fputc(len, fd);
beep_flush();
return;
}
- curwin->w_cursor.col = p - line;
+ curwin->w_cursor.col = (colnr_T)(p - line);
}
/* Get the word and its length. */
}
/* Replace the word. */
- p = alloc(STRLEN(line) - stp->st_orglen + stp->st_wordlen + 1);
+ p = alloc((unsigned)STRLEN(line) - stp->st_orglen + stp->st_wordlen + 1);
if (p != NULL)
{
- c = sug.su_badptr - line;
+ c = (int)(sug.su_badptr - line);
mch_memmove(p, line, c);
STRCPY(p + c, stp->st_word);
STRCAT(p, sug.su_badptr + stp->st_orglen);
/* Append a space in place of the line break. */
line_copy = concat_str(line, (char_u *)" ");
line = line_copy;
- endcol = STRLEN(line);
+ endcol = (colnr_T)STRLEN(line);
}
}
}
EMSG(_("E752: No previous spell replacement"));
return;
}
- addlen = STRLEN(repl_to) - STRLEN(repl_from);
+ addlen = (int)(STRLEN(repl_to) - STRLEN(repl_from));
- frompat = alloc(STRLEN(repl_from) + 7);
+ frompat = alloc((unsigned)STRLEN(repl_from) + 7);
if (frompat == NULL)
return;
sprintf((char *)frompat, "\\V\\<%s\\>", repl_from);
if (addlen <= 0 || STRNCMP(line + curwin->w_cursor.col,
repl_to, STRLEN(repl_to)) != 0)
{
- p = alloc(STRLEN(line) + addlen + 1);
+ p = alloc((unsigned)STRLEN(line) + addlen + 1);
if (p == NULL)
break;
mch_memmove(p, line, curwin->w_cursor.col);
}
++sub_nsubs;
}
- curwin->w_cursor.col += STRLEN(repl_to);
+ curwin->w_cursor.col += (colnr_T)STRLEN(repl_to);
}
p_ws = save_ws;
/* The suggested word may replace only part of "word", add the not
* replaced part. */
wcopy = alloc(stp->st_wordlen
- + STRLEN(sug.su_badptr + stp->st_orglen) + 1);
+ + (unsigned)STRLEN(sug.su_badptr + stp->st_orglen) + 1);
if (wcopy == NULL)
break;
STRCPY(wcopy, stp->st_word);
* to find matches (esp. REP items). Append some more text, changing
* chars after the bad word may help. */
STRCPY(fword, su->su_fbadword);
- n = STRLEN(fword);
+ n = (int)STRLEN(fword);
p = su->su_badptr + su->su_badlen;
- (void)spell_casefold(p, STRLEN(p), fword + n, MAXWLEN - n);
+ (void)spell_casefold(p, (int)STRLEN(p), fword + n, MAXWLEN - n);
for (lpi = 0; lpi < curbuf->b_langp.ga_len; ++lpi)
{
tword[sp->ts_twordlen] = NUL;
make_case_word(tword + sp->ts_splitoff,
preword + sp->ts_prewordlen, flags);
- sp->ts_prewordlen = STRLEN(preword);
+ sp->ts_prewordlen = (char_u)STRLEN(preword);
sp->ts_splitoff = sp->ts_twordlen;
}
break;
/* Append a space to preword when splitting. */
if (!try_compound && !fword_ends)
STRCAT(preword, " ");
- sp->ts_prewordlen = STRLEN(preword);
+ sp->ts_prewordlen = (char_u)STRLEN(preword);
sp->ts_splitoff = sp->ts_twordlen;
sp->ts_splitfidx = sp->ts_fidx;
/* Change the "from" to the "to" string. */
++depth;
- fl = STRLEN(ftp->ft_from);
- tl = STRLEN(ftp->ft_to);
+ fl = (int)STRLEN(ftp->ft_from);
+ tl = (int)STRLEN(ftp->ft_to);
if (fl != tl)
{
mch_memmove(p + tl, p + fl, STRLEN(p + fl) + 1);
else
gap = &lp->lp_replang->sl_rep;
ftp = (fromto_T *)gap->ga_data + sp->ts_curi - 1;
- fl = STRLEN(ftp->ft_from);
- tl = STRLEN(ftp->ft_to);
+ fl = (int)STRLEN(ftp->ft_from);
+ tl = (int)STRLEN(ftp->ft_to);
p = fword + sp->ts_fidx;
if (fl != tl)
{
if (slang->sl_sal.ga_len > 0 && slang->sl_sbyts != NULL)
{
/* Free the info about handled words. */
- todo = slang->sl_sounddone.ht_used;
+ todo = (int)slang->sl_sounddone.ht_used;
for (hi = slang->sl_sounddone.ht_array; todo > 0; ++hi)
if (!HASHITEM_EMPTY(hi))
{
hi = hash_lookup(&slang->sl_sounddone, goodword, hash);
if (HASHITEM_EMPTY(hi))
{
- sft = (sftword_T *)alloc(sizeof(sftword_T) + STRLEN(goodword));
+ sft = (sftword_T *)alloc((unsigned)(sizeof(sftword_T) + STRLEN(goodword)));
if (sft != NULL)
{
sft->sft_score = score;
pbad = su->su_badptr + badlenarg;
for (;;)
{
- goodlen = pgood - goodword;
- badlen = pbad - su->su_badptr;
+ goodlen = (int)(pgood - goodword);
+ badlen = (int)(pbad - su->su_badptr);
if (goodlen <= 0 || badlen <= 0)
break;
mb_ptr_back(goodword, pgood);
word = inword;
else
{
- (void)spell_casefold(inword, STRLEN(inword), fword, MAXWLEN);
+ (void)spell_casefold(inword, (int)STRLEN(inword), fword, MAXWLEN);
word = fword;
}
}
}
- goodlen = STRLEN(goodsound);
- badlen = STRLEN(badsound);
+ goodlen = (int)STRLEN(goodsound);
+ badlen = (int)STRLEN(badsound);
/* Return quickly if the lenghts are too different to be fixed by two
* changes. */
else
#endif
{
- badlen = STRLEN(badword) + 1;
- goodlen = STRLEN(goodword) + 1;
+ badlen = (int)STRLEN(badword) + 1;
+ goodlen = (int)STRLEN(goodword) + 1;
}
/* We use "cnt" as an array: CNT(badword_idx, goodword_idx). */
/* When matching with a pattern and there are no prefixes only use
* parts of the tree that match "pat". */
if (pat != NULL && slang->sl_pbyts == NULL)
- patlen = STRLEN(pat);
+ patlen = (int)STRLEN(pat);
else
patlen = 0;
/* Go back to start of the word. */
while (p > line)
{
- col = p - line;
+ col = (int)(p - line);
mb_ptr_back(line, p);
if (!spell_iswordp(p, curbuf))
break;
if (result->lnum > syn_buf->b_ml.ml_line_count)
len = 0;
else
- len = STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE));
+ len = (int)STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE));
if (col > len)
result->col = len;
else
* Unfortunately, this list of keywords is not sorted on alphabet but on
* hash value...
*/
- todo = ht->ht_used;
+ todo = (int)ht->ht_used;
for (hi = ht->ht_array; todo > 0 && !got_int; ++hi)
{
if (!HASHITEM_EMPTY(hi))
int todo;
hash_lock(ht);
- todo = ht->ht_used;
+ todo = (int)ht->ht_used;
for (hi = ht->ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
keyentry_T *kp;
keyentry_T *kp_next;
- todo = ht->ht_used;
+ todo = (int)ht->ht_used;
for (hi = ht->ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
parse_match(matches[i], &tagp);
/* Save the tag name */
- len = tagp.tagname_end - tagp.tagname;
+ len = (int)(tagp.tagname_end - tagp.tagname);
if (len > 128)
len = 128;
vim_strncpy(tag_name, tagp.tagname, len);
STRCAT(cmd, "\\V");
len += 2;
- cmd_len = cmd_end - cmd_start + 1;
+ cmd_len = (int)(cmd_end - cmd_start + 1);
if (cmd_len > (CMDBUFFSIZE - 5))
cmd_len = CMDBUFFSIZE - 5;
STRNCAT(cmd, cmd_start, cmd_len);
{
/* Prefer help tags according to 'helplang'. Put the
* two-letter language name in help_lang[]. */
- i = STRLEN(tag_fname);
+ i = (int)STRLEN(tag_fname);
if (i > 3 && tag_fname[i - 3] == '-')
STRCPY(help_lang, tag_fname + i - 2);
else
if ((flags & TAG_KEEP_LANG)
&& help_lang_find == NULL
&& curbuf->b_fname != NULL
- && (i = STRLEN(curbuf->b_fname)) > 4
+ && (i = (int)STRLEN(curbuf->b_fname)) > 4
&& curbuf->b_fname[i - 1] == 'x'
&& curbuf->b_fname[i - 4] == '.'
&& STRNICMP(curbuf->b_fname + i - 3, help_lang, 2) == 0)
while (end > start && (end[-1] == '\r' || end[-1] == '\n'))
--end;
}
- len = end - start;
+ len = (int)(end - start);
if (len > sizeof(buf) - 1)
len = sizeof(buf) - 1;
vim_strncpy(buf, start, len);
n = p;
while (*p != NUL && *p >= ' ' && *p < 127 && *p != ':')
++p;
- len = p - n;
+ len = (int)(p - n);
if (*p == ':' && len > 0)
{
s = ++p;
}
else
#endif
- vim_snprintf((char *)buf, buflen, "%ld seconds ago",
+ vim_snprintf((char *)buf, buflen, _("%ld seconds ago"),
(long)(time(NULL) - tt));
}
*/
#define VIM_VERSION_NODOT "vim70e"
#define VIM_VERSION_SHORT "7.0e"
-#define VIM_VERSION_MEDIUM "7.0e BETA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0e BETA (2006 Apr 16)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0e BETA (2006 Apr 16, compiled "
+#define VIM_VERSION_MEDIUM "7.0e01 BETA"
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0e01 BETA (2006 Apr 17)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0e01 BETA (2006 Apr 17, compiled "