0
0
mirror of https://github.com/vim/vim.git synced 2025-08-22 19:27:53 -04:00

Updated runtime files.

This commit is contained in:
Bram Moolenaar 2011-05-19 12:22:51 +02:00
parent 3a7d8c3adb
commit 20f90cf99a
12 changed files with 718 additions and 95 deletions

View File

@ -1,4 +1,4 @@
*change.txt* For Vim version 7.3. Last change: 2011 May 10
*change.txt* For Vim version 7.3. Last change: 2011 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@ -522,11 +522,11 @@ comment (starting with '"') after the ":!" command.
={motion} Filter {motion} lines through the external program
given with the 'equalprg' option. When the 'equalprg'
option is empty (this is the default), use the
internal formatting function |C-indenting|. But when
'indentexpr' is not empty, it will be used instead
|indent-expression|. When Vim was compiled without
internal formatting then the "indent" program is used
as a last resort.
internal formatting function |C-indenting| and
|'lisp'|. But when 'indentexpr' is not empty, it will
be used instead |indent-expression|. When Vim was
compiled without internal formatting then the "indent"
program is used as a last resort.
*==*
== Filter [count] lines like with ={motion}.

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.3. Last change: 2011 May 10
*eval.txt* For Vim version 7.3. Last change: 2011 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@ -4076,6 +4076,7 @@ match({expr}, {pat}[, {start}[, {count}]]) *match()*
{pat} matches.
A match at the first character or |List| item returns zero.
If there is no match -1 is returned.
For getting submatches see |matchlist()|.
Example: >
:echo match("testing", "ing") " results in 4
:echo match([1, 'x'], '\a') " results in 1
@ -5581,6 +5582,10 @@ substitute({expr}, {pat}, {sub}, {flags}) *substitute()*
< This removes the last component of the 'path' option. >
:echo substitute("testing", ".*", "\\U\\0", "")
< results in "TESTING".
The {sub} argument can start with \=, just like with
|:substitute|. Example: >
:echo substitute(s, '%\(\x\x\)',
\ '\=nr2char("0x" . submatch(1))', 'g')
synID({lnum}, {col}, {trans}) *synID()*
The result is a Number, which is the syntax ID at the position

View File

@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.3. Last change: 2010 Dec 08
*intro.txt* For Vim version 7.3. Last change: 2011 May 15
VIM REFERENCE MANUAL by Bram Moolenaar
@ -135,8 +135,10 @@ http://www.vim.org/maillist.php
Bug reports: *bugs* *bug-reports* *bugreport.vim*
Send bug reports to: Vim bugs <bugs@vim.org>
This is not a maillist but the message is redirected to the Vim maintainer.
Send bug reports to: Vim Developers <vim_dev@vim.org>
This is a maillist, many people will see the message. If you don't want that,
e.g. because it is a security issue, send it to <bugs@vim.org>, this only goes
to the Vim maintainer (that's Bram).
Please be brief; all the time that is spent on answering mail is subtracted
from the time that is spent on improving Vim! Always give a reproducible
example and try to find out which settings or other things influence the

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 7.3. Last change: 2011 Apr 29
*options.txt* For Vim version 7.3. Last change: 2011 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@ -4104,7 +4104,8 @@ A jump table for the options with a short description can be found at |Q_op|.
It is used when a new line is created, for the |=| operator and
in Insert mode as specified with the 'indentkeys' option.
When this option is not empty, it overrules the 'cindent' and
'smartindent' indenting.
'smartindent' indenting. When 'lisp' is set, this option is
overridden by the Lisp indentation algorithm.
When 'paste' is set this option is not used for indenting.
The expression is evaluated with |v:lnum| set to the line number for
which the indent is to be computed. The cursor is also in this line

View File

@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 7.3. Last change: 2011 Feb 01
*quickfix.txt* For Vim version 7.3. Last change: 2011 May 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -215,28 +215,29 @@ command with 'l'.
*:cex* *:cexpr* *E777*
:cex[pr][!] {expr} Create a quickfix list using the result of {expr} and
jump to the first error. If {expr} is a String, then
each new-line terminated line in the String is
processed using 'errorformat' and the result is added
to the quickfix list. If {expr} is a List, then each
String item in the list is processed and added to the
quickfix list. Non String items in the List are
ignored. See |:cc|
for [!].
jump to the first error.
If {expr} is a String, then each new-line terminated
line in the String is processed using the global value
of 'errorformat' and the result is added to the
quickfix list.
If {expr} is a List, then each String item in the list
is processed and added to the quickfix list. Non
String items in the List are ignored.
See |:cc| for [!].
Examples: >
:cexpr system('grep -n xyz *')
:cexpr getline(1, '$')
<
*:lex* *:lexpr*
:lex[pr][!] {expr} Same as ":cexpr", except the location list for the
:lex[pr][!] {expr} Same as |:cexpr|, except the location list for the
current window is used instead of the quickfix list.
*:cgete* *:cgetexpr*
:cgete[xpr] {expr} Create a quickfix list using the result of {expr}.
Just like ":cexpr", but don't jump to the first error.
Just like |:cexpr|, but don't jump to the first error.
*:lgete* *:lgetexpr*
:lgete[xpr] {expr} Same as ":cgetexpr", except the location list for the
:lgete[xpr] {expr} Same as |:cgetexpr|, except the location list for the
current window is used instead of the quickfix list.
*:cad* *:caddexpr*

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.3. Last change: 2011 May 10
*todo.txt* For Vim version 7.3. Last change: 2011 May 19
VIM REFERENCE MANUAL by Bram Moolenaar
@ -32,6 +32,9 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
Go through more coverity reports.
Hong Xu: I think src/Make_ro.mak should also be removed.
Two patches 2011 May 15
Crash in autocomplete, valgrind log. (Greg Weber, 2011 Apr 22)
Ex command ":s/ \?/ /g" splits multi-byte characters into bytes. (Dominique
@ -50,6 +53,10 @@ Karkat, 2011 Jan 16)
Patch to add 'cscoperelative'. (Raghavendra Prabhu, 2011 Apr 18)
9 "} else" causes following lines to be indented too much. (Rouben
Rostamian, 2008 Aug 30)
Patch by Lech Lorens, 2011 May 16, with more tests.
New syntax file for dnsmasq. (Thilo Six, 2011 Apr 18)
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
@ -71,6 +78,8 @@ Lepa, 2011 Jan 18)
Patch to support ":!start /b cmd". (Xaizek, 2010 Dec 22)
Patch for syntax "extend" not working correctly. (Ben Schmidt, 2011 May 15)
Patch to build with GTK on Mac. (Ben Schmidt, 2011 Jan 18)
Use another name instead of FEAT_GUI_ELSEWHERE.
@ -87,6 +96,8 @@ Patch for Python 3 support. (lilydjwg, 2011 Feb 24)
Patch to make putting from clipboard linewise when the text ends in a newline.
(Sung Pae) Do we want this?
Patch to add third dict argument to sort(). (ZyX, 2011 May 15)
Building the MingW version without clipboard but with multi-byte doesn't
work. (Bill Lam, 2010 Sep 18)
@ -132,6 +143,10 @@ problems, even though double quotes are used. (Manuel Stol, 2011 Mar 9)
Patch to change the meaning of \n in substitute(). (motoya kurotsu, 2011 Mar 8)
Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
Winckler, 2011 May 11)
Use function to set paste option and restore it, use CTRL-R+ to paste.
Help file foldexpr (ZyX)
Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
@ -163,6 +178,7 @@ Patch by Christian Brabandt, 2011 May 6.
CursorHold repeats typed key when it's the start of a mapping.
(Will Gray, 2011 Mar 23)
Christian Brabandt: problem is that OP_PENDING isn't set.
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
@ -323,9 +339,6 @@ mkdir().
When 'paste' is changed with 'pastetoggle', the ruler doesn't reflect this
right away. (Samuel Ferencik, 2010 Dec 7)
Windows installer: licence text should not use indent, causes bad word wrap.
(Benjamin Fritz, 2010 Aug 16)
Mac with X11: clipboard doesn't work properly. (Raf, 2010 Aug 16)
Using CompilerSet doesn't record where an option was set from. E.g., in the
@ -368,11 +381,6 @@ Can 'undolevels' be a buffer-local option? Helps for making big changes in
one file only, set 'ul' to -1 only for that buffer.
Patch by Christian Brabandt, 2010 Dec 17. Needs test.
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
makes his own wrapper). Add a magic string with the version number to the
.bat file and check for it in the uninstaller. E.g.
# uninstall key: vim7.3*
Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
Additional info by Dominique Pelle. (also on 2010 Apr 10)
@ -992,6 +1000,9 @@ Jun 3)
However, for backwards compatibility escaping might be necessary. Check if
the user put quotes around the expanded item?
A throw in a function causes missing an endif below the call. (Spiros
Bousbouras, 2011 May 16)
Error E324 can be given when a cron script has wiped out our temp directory.
Give a clear error message about this (and tell them not to wipe out /tmp).
@ -1011,10 +1022,19 @@ go to Insert mode and add a few lines. Then backspacing every other time
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
Patch to use Modern UI 2.0 for the Nsis installer. (Guopeng Wen, 2010 Jul 30)
Latest version: 2011 May 18
8 Windows install with NSIS: make it possible to do a silent install, see
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
Version from Guopeng Wen that does this (2010 Dec 27)
Windows installer: licence text should not use indent, causes bad word wrap.
(Benjamin Fritz, 2010 Aug 16)
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
makes his own wrapper). Add a magic string with the version number to the
.bat file and check for it in the uninstaller. E.g.
# uninstall key: vim7.3*
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
2007 Feb 8)
@ -3801,8 +3821,6 @@ Insert mode:
'cindent', 'smartindent':
9 "} else" causes following lines to be indented too much. (Rouben
Rostamian, 2008 Aug 30)
9 Wrapping a variable initialization should have extra indent:
char * veryLongName =
"very long string"

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2011 Apr 28
" Last Change: 2011 May 19
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@ -556,7 +556,7 @@ au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources
au BufNewFile,BufRead denyhosts.conf setf denyhosts
" dnsmasq(8) configuration files
au BufNewFile,BufRead dnsmasq.conf setf dnsmasq
au BufNewFile,BufRead */etc/dnsmasq.conf setf dnsmasq
" ROCKLinux package description
au BufNewFile,BufRead *.desc setf desc

View File

@ -1,13 +1,20 @@
" Vim syntax file
" Language: dnsmasq(8) configuration file
" Maintainer: Thilo Six <T.Six@gmx.de>
" Last Change: 2011 Apr 28
" Last Change: 17 May 2011
" Credits: This file is a mix of cfg.vim, wget.vim and xf86conf.vim, credits go to:
" Igor N. Prischepoff
" Doug Kearns
" David Ne\v{c}as
"
" Options: let dnsmasq_backrgound_light = 1
" Options: You might want to add this to your vimrc:
"
" if &background == "dark"
" " dnsmasq.vim
" let dnsmasq_backrgound_light = 0
" else
" let dnsmasq_backrgound_light = 1
" endif
"
" For version 5.x: Clear all syntax items
@ -18,6 +25,7 @@ elseif exists ("b:current_syntax")
finish
endif
if !exists("b:dnsmasq_backrgound_light")
if exists("dnsmasq_backrgound_light")
let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light
@ -30,75 +38,136 @@ endif
" case on
syn case match
"Parameters
syn match DnsmasqParams "^.\{-}="me=e-1 contains=DnsmasqComment
"... and their values (don't want to highlight '=' sign)
syn match DnsmasqValues "=.*"hs=s+1 contains=DnsmasqComment,DnsmasqSpecial
syn match DnsmasqSpecial display '=\|@\|,\|!\|:' nextgroup=DnsmasqValues
syn match DnsmasqSpecial "#"
"...because we do it here.
syn match DnsmasqEq display '=\|@\|/\|,' nextgroup=DnsmasqValues
syn match DnsmasqIPv4 "\(\d\{1,3}\.\)\{3}\d\{1,3}" nextgroup=DnsmasqSubnet2,DnsmasqRange
syn match DnsmasqSubnet "\<255.\(\d\{1,3}\.\)\{2}\d\{1,3}"
syn match DnsmasqSubnet2 contained "\/\(\d\{1,2}\)\>"
syn match DnsmasqRange contained "-"
syn match DnsmasqMac "\<\(\x\x\?:\)\{5}\x\x\?"
syn match DnsmasqSpecial "#"
syn match DnsmasqTime "\<\(\d\{1,3}\)[hm]\>"
" String
syn match DnsmasqString "\".*\""
syn match DnsmasqString "'.*'"
syn match DnsmasqString "\".*\""
syn match DnsmasqString "'.*'"
" Comments
syn match DnsmasqComment "^#.*$" contains=DnsmasqTodo
syn match DnsmasqComment "[ \t]#.*$" contains=DnsmasqTodo
syn match DnsmasqComment "^#.*$" contains=DnsmasqTodo
syn match DnsmasqComment "\s#.*$" contains=DnsmasqTodo
syn keyword DnsmasqTodo FIXME TODO XXX NOT contained
syn match DnsmasqKeywordSpecial "\<set\>:"me=e-1
syn match DnsmasqKeywordSpecial "\<tag\>:"me=e-1
syn match DnsmasqKeywordSpecial ",\<static\>"hs=s+1 contains=DnsmasqSpecial
syn match DnsmasqKeywordSpecial ",\<infinite\>"hs=s+1 contains=DnsmasqSpecial
syn match DnsmasqKeywordSpecial "\<encap\>:"me=e-1
syn match DnsmasqKeywordSpecial "\<net\>:"me=e-1
syn match DnsmasqKeywordSpecial "\<vendor\>:"me=e-1
syn match DnsmasqKeywordSpecial "\<option\>:"me=e-1
syn match DnsmasqKeywordSpecial ",\<ignore\>"hs=s+1 contains=DnsmasqSpecial
syn match DnsmasqKeywordSpecial "\<id\>:"me=e-1
syn match DnsmasqKeyword "^\s*add-mac\>"
syn match DnsmasqKeyword "^\s*addn-hosts\>"
syn match DnsmasqKeyword "^\s*address\>"
syn match DnsmasqKeyword "^\s*alias\>"
syn match DnsmasqKeyword "^\s*all-servers\>"
syn match DnsmasqKeyword "^\s*bind-interfaces\>"
syn match DnsmasqKeyword "^\s*bogus-nxdomain\>"
syn match DnsmasqKeyword "^\s*bogus-priv\>"
syn match DnsmasqKeyword "^\s*cache-size\>"
syn match DnsmasqKeyword "^\s*clear-on-reload\>"
syn match DnsmasqKeyword "^\s*cname\>"
syn match DnsmasqKeyword "^\s*conf-dir\>"
syn match DnsmasqKeyword "^\s*conf-file\>"
syn match DnsmasqKeyword "^\s*dhcp-authoritative\>"
syn match DnsmasqKeyword "^\s*dhcp-boot\>"
syn match DnsmasqKeyword "^\s*dhcp-fqdn\>"
syn match DnsmasqKeyword "^\s*dhcp-host\>"
syn match DnsmasqKeyword "^\s*dhcp-ignore\>"
syn match DnsmasqKeyword "^\s*dhcp-lease-max\>"
syn match DnsmasqKeyword "^\s*dhcp-leasefile\>"
syn match DnsmasqKeyword "^\s*dhcp-mac\>"
syn match DnsmasqKeyword "^\s*dhcp-match\>"
syn match DnsmasqKeyword "^\s*dhcp-no-override\>"
syn match DnsmasqKeyword "^\s*dhcp-option-force\>"
syn match DnsmasqKeyword "^\s*dhcp-option\>"
syn match DnsmasqKeyword "^\s*dhcp-range\>"
syn match DnsmasqKeyword "^\s*dhcp-script\>"
syn match DnsmasqKeyword "^\s*dhcp-scriptuser\>"
syn match DnsmasqKeyword "^\s*dhcp-userclass\>"
syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>"
syn match DnsmasqKeyword "^\s*domain-needed\>"
syn match DnsmasqKeyword "^\s*domain\>"
syn match DnsmasqKeyword "^\s*enable-dbus\>"
syn match DnsmasqKeyword "^\s*enable-tftp\>"
syn match DnsmasqKeyword "^\s*except-interface\>"
syn match DnsmasqKeyword "^\s*expand-hosts\>"
syn match DnsmasqKeyword "^\s*filterwin2k\>"
syn match DnsmasqKeyword "^\s*group\>"
syn match DnsmasqKeyword "^\s*interface\>"
syn match DnsmasqKeyword "^\s*keep-in-foreground\>"
syn match DnsmasqKeyword "^\s*leasefile-ro\>"
syn match DnsmasqKeyword "^\s*listen-address\>"
syn match DnsmasqKeyword "^\s*local-ttl\>"
syn match DnsmasqKeyword "^\s*local\>"
syn match DnsmasqKeyword "^\s*localise-queries\>"
syn match DnsmasqKeyword "^\s*localmx\>"
syn match DnsmasqKeyword "^\s*log-dhcp\>"
syn match DnsmasqKeyword "^\s*log-queries\>"
syn match DnsmasqKeyword "^\s*mx-host\>"
syn match DnsmasqKeyword "^\s*mx-target\>"
syn match DnsmasqKeyword "^\s*no-daemon\>"
syn match DnsmasqKeyword "^\s*no-dhcp-interface\>"
syn match DnsmasqKeyword "^\s*no-hosts\>"
syn match DnsmasqKeyword "^\s*no-negcache\>"
syn match DnsmasqKeyword "^\s*no-ping\>"
syn match DnsmasqKeyword "^\s*no-poll\>"
syn match DnsmasqKeyword "^\s*no-resolv\>"
syn match DnsmasqKeyword "^\s*proxy-dnssec\>"
syn match DnsmasqKeyword "^\s*ptr-record\>"
syn match DnsmasqKeyword "^\s*pxe-prompt\>"
syn match DnsmasqKeyword "^\s*pxe-service\>"
syn match DnsmasqKeyword "^\s*read-ethers\>"
syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>"
syn match DnsmasqKeyword "^\s*resolv-file\>"
syn match DnsmasqKeyword "^\s*selfmx\>"
syn match DnsmasqKeyword "^\s*server\>"
syn match DnsmasqKeyword "^\s*srv-host\>"
syn match DnsmasqKeyword "^\s*stop-dns-rebind\>"
syn match DnsmasqKeyword "^\s*strict-order\>"
syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>"
syn match DnsmasqKeyword "^\s*tftp-root\>"
syn match DnsmasqKeyword "^\s*tftp-secure\>"
syn match DnsmasqKeyword "^\s*tftp-unique-root\>"
syn match DnsmasqKeyword "^\s*txt-record\>"
syn match DnsmasqKeyword "^\s*user\>"
if b:dnsmasq_backrgound_light == 1
hi def DnsmasqParams ctermfg=DarkGreen guifg=DarkGreen
hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen
hi def DnsmasqParams ctermfg=DarkGreen guifg=DarkGreen
hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen
else
hi def link DnsmasqKeyword Keyword
hi def link DnsmasqParams Keyword
endif
hi def link DnsmasqTodo Todo
hi def link DnsmasqSpecial Constant
hi def link DnsmasqComment Comment
hi def link DnsmasqString Constant
hi def link DnsmasqValues Normal
hi def link DnsmasqEq Constant
hi def link DnsmasqKeywordSpecial Type
hi def link DnsmasqTodo Todo
hi def link DnsmasqSpecial Constant
hi def link DnsmasqIPv4 Identifier
hi def link DnsmasqSubnet2 DnsmasqSubnet
hi def link DnsmasqSubnet DnsmasqMac
hi def link DnsmasqRange DnsmasqMac
hi def link DnsmasqMac Preproc
hi def link DnsmasqTime Preproc
hi def link DnsmasqComment Comment
hi def link DnsmasqString Constant
hi def link DnsmasqValues Normal
let b:current_syntax = "dnsmasq"

View File

@ -3,7 +3,7 @@
" Filenames: *.dot
" Maintainer: Markus Mottl <markus.mottl@gmail.com>
" URL: http://www.ocaml.info/vim/syntax/dot.vim
" Last Change: 2006 Feb 05
" Last Change: 2011 May 17 - improved identifier matching + two new keywords
" 2001 May 04 - initial version
" For version 5.x: Clear all syntax items
@ -47,10 +47,10 @@ syn keyword dotType shape shapefile sides skew width
" Edge attributes
syn keyword dotType arrowhead arrowsize arrowtail constraint decorateP
syn keyword dotType dir headclip headlabel labelangle labeldistance
syn keyword dotType dir headclip headlabel headport labelangle labeldistance
syn keyword dotType labelfontcolor labelfontname labelfontsize
syn keyword dotType minlen port_label_distance samehead sametail
syn keyword dotType tailclip taillabel weight
syn keyword dotType tailclip taillabel tailport weight
" Shared attributes (graphs, nodes, edges)
syn keyword dotType color
@ -67,7 +67,7 @@ syn match dotKeyChar ";"
syn match dotKeyChar "->"
" Identifier
syn match dotIdentifier /\<\w\+\>/
syn match dotIdentifier /\<\w\+\(:\w\+\)\?\>/
" Synchronization
syn sync minlines=50

View File

@ -2,7 +2,7 @@
" Language: gnash(1) configuration files
" http://www.gnu.org/software/gnash/manual/gnashuser.html#gnashrc
" Maintainer: Thilo Six <T.Six@gmx.de>
" Last Change: 2011 Apr 28
" Last Change: 17 May 2011
" Credidts: derived from readline.vim
" Nikolai Weibull
"
@ -15,16 +15,12 @@ elseif exists ("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn case match
syn keyword GnashTodo contained TODO FIXME XXX NOTE
syn region GnashComment display oneline start='^\s*#' end='$'
\ contains=GnashTodo,@Spell
" Comments
syn match GnashComment "^#.*$" contains=GnashTodo
syn match GnashComment "\s#.*$" contains=GnashTodo
syn match GnashNumber display '\<\d\+\>'
@ -84,16 +80,13 @@ syn match GnashKeyword '\<webcamDevice\>'
syn match GnashKeyword '\<whitelist\>'
syn match GnashKeyword '\<writelog\>'
hi def GnashOn ctermfg=Green guifg=Green
hi def GnashOff ctermfg=Red guifg=Red
hi def link GnashOn Identifier
hi def link GnashOff Preproc
hi def link GnashComment Comment
hi def link GnashTodo Todo
hi def link GnashString String
hi def link GnashNumber Normal
hi def link GnashNumber Type
hi def link GnashSet String
hi def link GnashKeyword Keyword
let b:current_syntax = "gnash"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@ -5,9 +5,9 @@
" Karl-Heinz Sylla <Karl-Heinz.Sylla@gmd.de>
" Issac Trotts <ijtrotts@ucdavis.edu>
" URL: http://www.ocaml.info/vim/syntax/ocaml.vim
" Last Change: 2007 Apr 13 - Added highlighting of nativeints (MM)
" 2006 Oct 09 - More highlighting improvements to numbers (MM)
" 2006 Sep 19 - Improved highlighting of numbers (Florent Monnier)
" Last Change: 2010 Oct 11 - Added highlighting of lnot (MM, thanks to Erick Matsen)
" 2010 Sep 03 - Fixed escaping bug (MM, thanks to Florent Monnier)
" 2010 Aug 07 - Fixed module type bug (MM)
" A minor patch was applied to the official version so that object/end
" can be distinguished from begin/end, which is used for indentation,
@ -24,14 +24,14 @@ endif
" OCaml is case sensitive.
syn case match
" Access to the method of an object
syn match ocamlMethod "#"
" Script headers highlighted like comments
syn match ocamlComment "^#!.*"
" Scripting directives
syn match ocamlScript "^#\<\(quit\|labels\|warnings\|directory\|cd\|load\|use\|install_printer\|remove_printer\|require\|thread\|trace\|untrace\|untrace_all\|print_depth\|print_length\)\>"
" Script headers highlighted like comments
syn match ocamlComment "^#!.*"
syn match ocamlScript "^#\<\(quit\|labels\|warnings\|directory\|cd\|load\|use\|install_printer\|remove_printer\|require\|thread\|trace\|untrace\|untrace_all\|print_depth\|print_length\|camlp4o\)\>"
" lowercase identifier - the standard way to match
syn match ocamlLCIdentifier /\<\(\l\|_\)\(\w\|'\)*\>/
@ -69,7 +69,7 @@ syn cluster ocamlAllErrs contains=ocamlBraceErr,ocamlBrackErr,ocamlParenErr,oca
syn cluster ocamlAENoParen contains=ocamlBraceErr,ocamlBrackErr,ocamlCommentErr,ocamlCountErr,ocamlDoErr,ocamlDoneErr,ocamlEndErr,ocamlThenErr
syn cluster ocamlContained contains=ocamlTodo,ocamlPreDef,ocamlModParam,ocamlModParam1,ocamlPreMPRestr,ocamlMPRestr,ocamlMPRestr1,ocamlMPRestr2,ocamlMPRestr3,ocamlModRHS,ocamlFuncWith,ocamlFuncStruct,ocamlModTypeRestr,ocamlModTRWith,ocamlWith,ocamlWithRest,ocamlModType,ocamlFullMod
syn cluster ocamlContained contains=ocamlTodo,ocamlPreDef,ocamlModParam,ocamlModParam1,ocamlPreMPRestr,ocamlMPRestr,ocamlMPRestr1,ocamlMPRestr2,ocamlMPRestr3,ocamlModRHS,ocamlFuncWith,ocamlFuncStruct,ocamlModTypeRestr,ocamlModTRWith,ocamlWith,ocamlWithRest,ocamlModType,ocamlFullMod,ocamlVal
" Enclosing delimiters
@ -109,9 +109,6 @@ syn region ocamlNone matchgroup=ocamlKeyword start="\<if\>" matchgroup=ocamlKe
"" Modules
" "struct"
syn region ocamlStruct matchgroup=ocamlModule start="\<struct\>" matchgroup=ocamlModule end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr
" "sig"
syn region ocamlSig matchgroup=ocamlModule start="\<sig\>" matchgroup=ocamlModule end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr,ocamlModule
syn region ocamlModSpec matchgroup=ocamlKeyword start="\<module\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\>" contained contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlModTRWith,ocamlMPRestr
@ -124,8 +121,8 @@ syn match ocamlKeyword "\<include\>" skipwhite skipempty nextgroup=ocamlModPa
" "module" - somewhat complicated stuff ;-)
syn region ocamlModule matchgroup=ocamlKeyword start="\<module\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\>" contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlPreDef
syn region ocamlPreDef start="."me=e-1 matchgroup=ocamlKeyword end="\l\|="me=e-1 contained contains=@ocamlAllErrs,ocamlComment,ocamlModParam,ocamlModTypeRestr,ocamlModTRWith nextgroup=ocamlModPreRHS
syn region ocamlModParam start="([^*]" end=")" contained contains=@ocamlAENoParen,ocamlModParam1
syn region ocamlPreDef start="."me=e-1 matchgroup=ocamlKeyword end="\l\|=\|)"me=e-1 contained contains=@ocamlAllErrs,ocamlComment,ocamlModParam,ocamlModTypeRestr,ocamlModTRWith nextgroup=ocamlModPreRHS
syn region ocamlModParam start="([^*]" end=")" contained contains=@ocamlAENoParen,ocamlModParam1,ocamlVal
syn match ocamlModParam1 "\<\u\(\w\|'\)*\>" contained skipwhite skipempty nextgroup=ocamlPreMPRestr
syn region ocamlPreMPRestr start="."me=e-1 end=")"me=e-1 contained contains=@ocamlAllErrs,ocamlComment,ocamlMPRestr,ocamlModTypeRestr
@ -135,6 +132,8 @@ syn region ocamlMPRestr1 matchgroup=ocamlModule start="\ssig\s\=" matchgroup=o
syn region ocamlMPRestr2 start="\sfunctor\(\s\|(\)\="me=e-1 matchgroup=ocamlKeyword end="->" contained contains=@ocamlAllErrs,ocamlComment,ocamlModParam skipwhite skipempty nextgroup=ocamlFuncWith,ocamlMPRestr2
syn match ocamlMPRestr3 "\w\(\w\|'\)*\(\.\w\(\w\|'\)*\)*" contained
syn match ocamlModPreRHS "=" contained skipwhite skipempty nextgroup=ocamlModParam,ocamlFullMod
syn keyword ocamlKeyword val
syn region ocamlVal matchgroup=ocamlKeyword start="\<val\>" matchgroup=ocamlLCIdentifier end="\<\l\(\w\|'\)*\>" contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlMPRestr
syn region ocamlModRHS start="." end=".\w\|([^*]"me=e-2 contained contains=ocamlComment skipwhite skipempty nextgroup=ocamlModParam,ocamlFullMod
syn match ocamlFullMod "\<\u\(\w\|'\)*\(\.\u\(\w\|'\)*\)*" contained skipwhite skipempty nextgroup=ocamlFuncWith
@ -146,8 +145,11 @@ syn region ocamlModTRWith start=":\s*("hs=s+1 end=")" contained contains=@ocam
syn match ocamlWith "\<\(\u\(\w\|'\)*\.\)*\w\(\w\|'\)*\>" contained skipwhite skipempty nextgroup=ocamlWithRest
syn region ocamlWithRest start="[^)]" end=")"me=e-1 contained contains=ALLBUT,@ocamlContained
" "struct"
syn region ocamlStruct matchgroup=ocamlModule start="\<\(module\s\+\)\=struct\>" matchgroup=ocamlModule end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr
" "module type"
syn region ocamlKeyword start="\<module\>\s*\<type\>" matchgroup=ocamlModule end="\<\w\(\w\|'\)*\>" contains=ocamlComment skipwhite skipempty nextgroup=ocamlMTDef
syn region ocamlKeyword start="\<module\>\s*\<type\>\(\s*\<of\>\)\=" matchgroup=ocamlModule end="\<\w\(\w\|'\)*\>" contains=ocamlComment skipwhite skipempty nextgroup=ocamlMTDef
syn match ocamlMTDef "=\s*\w\(\w\|'\)*\>"hs=s+1,me=s
syn keyword ocamlKeyword and as assert class
@ -159,7 +161,7 @@ syn keyword ocamlKeyword land lazy let match
syn keyword ocamlKeyword method mutable new of
syn keyword ocamlKeyword parser private raise rec
syn keyword ocamlKeyword try type
syn keyword ocamlKeyword val virtual when while with
syn keyword ocamlKeyword virtual when while with
if exists("ocaml_revised")
syn keyword ocamlKeyword do value
@ -174,7 +176,7 @@ syn keyword ocamlType array bool char exn float format format4
syn keyword ocamlType int int32 int64 lazy_t list nativeint option
syn keyword ocamlType string unit
syn keyword ocamlOperator asr lor lsl lsr lxor mod not
syn keyword ocamlOperator asr lnot lor lsl lsr lxor mod not
syn match ocamlConstructor "(\s*)"
syn match ocamlConstructor "\[\s*\]"
@ -189,6 +191,7 @@ syn match ocamlConstructor "`\w\(\w\|'\)*\>"
syn match ocamlModPath "\u\(\w\|'\)*\."he=e-1
syn match ocamlCharacter "'\\\d\d\d'\|'\\[\'ntbr]'\|'.'"
syn match ocamlCharacter "'\\x\x\x'"
syn match ocamlCharErr "'\\\d\d'\|'\\\d'"
syn match ocamlCharErr "'\\[^\'ntbr]'"
syn region ocamlString start=+"+ skip=+\\\\\|\\"+ end=+"+
@ -220,7 +223,7 @@ syn match ocamlNumber "\<-\=\d\(_\|\d\)*[l|L|n]\?\>"
syn match ocamlNumber "\<-\=0[x|X]\(\x\|_\)\+[l|L|n]\?\>"
syn match ocamlNumber "\<-\=0[o|O]\(\o\|_\)\+[l|L|n]\?\>"
syn match ocamlNumber "\<-\=0[b|B]\([01]\|_\)\+[l|L|n]\?\>"
syn match ocamlFloat "\<-\=\d\(_\|\d\)*\.\(_\|\d\)*\([eE][-+]\=\d\(_\|\d\)*\)\=\>"
syn match ocamlFloat "\<-\=\d\(_\|\d\)*\.\?\(_\|\d\)*\([eE][-+]\=\d\(_\|\d\)*\)\=\>"
" Labels
syn match ocamlLabel "\~\(\l\|_\)\(\w\|'\)*"lc=1
@ -294,6 +297,7 @@ if version >= 508 || !exists("did_ocaml_syntax_inits")
HiLink ocamlConstructor Constant
HiLink ocamlVal Keyword
HiLink ocamlModPreRHS Keyword
HiLink ocamlMPRestr2 Keyword
HiLink ocamlKeyword Keyword

File diff suppressed because it is too large Load Diff