summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2010-09-19 19:01:21 +0200
committerBram Moolenaar <bram@vim.org>2010-09-19 19:01:21 +0200
commit88bdfa31466cd6e6ecc26717b5a0172aafd37ffc (patch)
tree3b7f9ea45a44ead08081da767f352d2c55bd3aa1 /runtime
parent35a762604a0be63f4277ecc12766215e0569ed91 (diff)
downloadvim-88bdfa31466cd6e6ecc26717b5a0172aafd37ffc.tar.gz
Updated runtime files.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/cmdline.txt5
-rw-r--r--runtime/doc/debug.txt15
-rw-r--r--runtime/doc/editing.txt18
-rw-r--r--runtime/doc/eval.txt28
-rw-r--r--runtime/doc/ft_ada.txt22
-rw-r--r--runtime/doc/helphelp.txt6
-rw-r--r--runtime/doc/insert.txt13
-rw-r--r--runtime/doc/message.txt4
-rw-r--r--runtime/doc/os_vms.txt8
-rw-r--r--runtime/doc/pi_zip.txt5
-rw-r--r--runtime/doc/quickref.txt10
-rw-r--r--runtime/doc/starting.txt17
-rw-r--r--runtime/doc/syntax.txt6
-rw-r--r--runtime/doc/todo.txt155
-rw-r--r--runtime/doc/undo.txt15
-rw-r--r--runtime/doc/various.txt4
-rw-r--r--runtime/syntax/d.vim367
-rw-r--r--runtime/syntax/yaml.vim244
18 files changed, 667 insertions, 275 deletions
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index a072c6cd..6e42025d 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt* For Vim version 7.3. Last change: 2010 May 07
+*cmdline.txt* For Vim version 7.3. Last change: 2010 Sep 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -423,7 +423,8 @@ CTRL-L A match is done on the pattern in front of the cursor. If
The 'wildchar' option defaults to <Tab> (CTRL-E when in Vi compatible mode; in
a previous version <Esc> was used). In the pattern standard wildcards '*' and
-'?' are accepted. '*' matches any string, '?' matches exactly one character.
+'?' are accepted when matching file names. '*' matches any string, '?'
+matches exactly one character.
If you like tcsh's autolist completion, you can use this mapping:
:cnoremap X <C-L><C-D>
diff --git a/runtime/doc/debug.txt b/runtime/doc/debug.txt
index 015c4e73..a38b9f67 100644
--- a/runtime/doc/debug.txt
+++ b/runtime/doc/debug.txt
@@ -1,4 +1,4 @@
-*debug.txt* For Vim version 7.3. Last change: 2010 Jul 20
+*debug.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -22,7 +22,8 @@ compilation, here is what you can do to find out exactly where Vim crashes.
This also applies when using the MingW tools.
1. Compile Vim with the "-g" option (there is a line in the Makefile for this,
- which you can uncomment).
+ which you can uncomment). Also make sure "strip" is disabled (do not
+ install it, or use the line "STRIP = /bin/true").
2. Execute these commands (replace "11" with the test that fails): >
cd testdir
@@ -67,7 +68,7 @@ If the Windows version of Vim crashes in a reproducible manner, you can take
some steps to provide a useful bug report.
-GENERIC ~
+3.1 GENERIC ~
You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb
for gvim.exe, or vim.pdb for vim.exe. The PDB should be available from the
@@ -89,7 +90,7 @@ a Vim executable compiled with the Borland compiler; gdb (see above
*debug-vs2005*
-2.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
+3.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
First launch vim.exe or gvim.exe and then launch Visual Studio. (If you don't
have Visual Studio, follow the instructions at |get-ms-debuggers| to obtain a
@@ -123,7 +124,7 @@ installed as a just-in-time debugger. Use WinDbg, |debug-windbg|, if you
need to save minidumps or you want a just-in-time (postmortem) debugger.
*debug-windbg*
-2.3 Debugging Vim crashes with WinDbg ~
+3.3 Debugging Vim crashes with WinDbg ~
See |get-ms-debuggers| to obtain a copy of WinDbg.
@@ -149,7 +150,7 @@ To save a minidump, type the following at the WinDbg command line: >
.dump vim.dmp
<
*debug-minidump*
-2.4 Opening a Minidump ~
+3.4 Opening a Minidump ~
If you have a minidump file, you can open it in Visual Studio or in WinDbg.
@@ -161,7 +162,7 @@ In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions in
|debug-windbg| to set the Symbol File Path.
*get-ms-debuggers*
-2.5 Obtaining Microsoft Debugging Tools ~
+3.5 Obtaining Microsoft Debugging Tools ~
The Debugging Tools for Windows (including WinDbg) can be downloaded from
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 84800aa7..4a651d3d 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt* For Vim version 7.3. Last change: 2010 Jul 28
+*editing.txt* For Vim version 7.3. Last change: 2010 Sep 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1431,13 +1431,15 @@ Notes:
history, showing the 'key' value in a viminfo file.
- There is never 100% safety. The encryption in Vim has not been tested for
robustness.
-- The algorithm used is breakable. A 4 character key in about one hour, a 6
- character key in one day (on a Pentium 133 PC). This requires that you know
- some text that must appear in the file. An expert can break it for any key.
- When the text has been decrypted, this also means that the key can be
- revealed, and other files encrypted with the same key can be decrypted.
-- Pkzip uses the same encryption, and US Govt has no objection to its export.
- Pkzip's public file APPNOTE.TXT describes this algorithm in detail.
+- The algorithm used for 'cryptmethod' "zip" is breakable. A 4 character key
+ in about one hour, a 6 character key in one day (on a Pentium 133 PC). This
+ requires that you know some text that must appear in the file. An expert
+ can break it for any key. When the text has been decrypted, this also means
+ that the key can be revealed, and other files encrypted with the same key
+ can be decrypted.
+- Pkzip uses the same encryption as 'cryptmethod' "zip", and US Govt has no
+ objection to its export. Pkzip's public file APPNOTE.TXT describes this
+ algorithm in detail.
- Vim originates from the Netherlands. That is where the sources come from.
Thus the encryption code is not exported from the USA.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 54035519..9522d359 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.3. Last change: 2010 Aug 15
+*eval.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -63,21 +63,21 @@ The Number and String types are converted automatically, depending on how they
are used.
Conversion from a Number to a String is by making the ASCII representation of
-the Number. Examples: >
- Number 123 --> String "123"
- Number 0 --> String "0"
- Number -1 --> String "-1"
+the Number. Examples:
+ Number 123 --> String "123" ~
+ Number 0 --> String "0" ~
+ Number -1 --> String "-1" ~
*octal*
Conversion from a String to a Number is done by converting the first digits
to a number. Hexadecimal "0xf9" and Octal "017" numbers are recognized. If
-the String doesn't start with digits, the result is zero. Examples: >
- String "456" --> Number 456
- String "6bar" --> Number 6
- String "foo" --> Number 0
- String "0xf1" --> Number 241
- String "0100" --> Number 64
- String "-8" --> Number -8
- String "+8" --> Number 0
+the String doesn't start with digits, the result is zero. Examples:
+ String "456" --> Number 456 ~
+ String "6bar" --> Number 6 ~
+ String "foo" --> Number 0 ~
+ String "0xf1" --> Number 241 ~
+ String "0100" --> Number 64 ~
+ String "-8" --> Number -8 ~
+ String "+8" --> Number 0 ~
To force conversion from String to Number, add zero to it: >
:echo "0100" + 0
@@ -6216,7 +6216,7 @@ toolbar Compiled with support for |gui-toolbar|.
unix Unix version of Vim.
user_commands User-defined commands.
viminfo Compiled with viminfo support.
-vim_starting True while initial source'ing takes place.
+vim_starting True while initial source'ing takes place. |startup|
vertsplit Compiled with vertically split windows |:vsplit|.
virtualedit Compiled with 'virtualedit' option.
visual Compiled with Visual mode.
diff --git a/runtime/doc/ft_ada.txt b/runtime/doc/ft_ada.txt
index 54c6b3f5..c74dd01d 100644
--- a/runtime/doc/ft_ada.txt
+++ b/runtime/doc/ft_ada.txt
@@ -6,20 +6,20 @@
ADA *ada.vim*
1. Syntax Highlighting |ft-ada-syntax|
-2. Plug-in |ft-ada-plugin|
+2. File type Plug-in |ft-ada-plugin|
3. Omni Completion |ft-ada-omni|
3.1 Omni Completion with "gnat xref" |gnat-xref|
3.2 Omni Completion with "ctags" |ada-ctags|
4. Compiler Support |ada-compiler|
4.1 GNAT |compiler-gnat|
- 4.1 Dec Ada |compiler-decada|
+ 4.2 Dec Ada |compiler-decada|
5. References |ada-reference|
5.1 Options |ft-ada-options|
- 5.2 Functions |ft-ada-functions|
- 5.3 Commands |ft-ada-commands|
- 5.4 Variables |ft-ada-variables|
- 5.5 Constants |ft-ada-constants|
-8. Extra Plug-ins |ada-extra-plugins|
+ 5.2 Commands |ft-ada-commands|
+ 5.3 Variables |ft-ada-variables|
+ 5.4 Constants |ft-ada-constants|
+ 5.5 Functions |ft-ada-functions|
+6. Extra Plug-ins |ada-extra-plugins|
==============================================================================
1. Syntax Highlighting ~
@@ -139,7 +139,7 @@ The Ada parser for Exuberant Ctags is fairly new - don't expect complete
support yet.
==============================================================================
-4. Compiler Support ~
+4. Compiler Support ~
*ada-compiler*
The Ada mode supports more than one Ada compiler and will automatically load the
@@ -367,7 +367,7 @@ false when the variable is undefined. The value to which the variable is set
makes no difference.
------------------------------------------------------------------------------
-5.3 Commands ~
+5.2 Commands ~
*ft-ada-commands*
:AdaRainbow *:AdaRainbow*
@@ -445,7 +445,7 @@ g:ada#Ctags_Kinds dictionary of lists
for Ctags generates.
------------------------------------------------------------------------------
-5.2 Functions ~
+5.5 Functions ~
*ft-ada-functions*
ada#Word([{line}, {col}]) *ada#Word()*
@@ -479,7 +479,7 @@ gnat#New ()
==============================================================================
-8. Extra Plugins ~
+6. Extra Plugins ~
*ada-extra-plugins*
You can optionally install the following extra plug-ins. They work well with
diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt
index 0ba0bbfa..25bf03aa 100644
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -1,4 +1,4 @@
-*helphelp.txt* For Vim version 7.3. Last change: 2010 Jul 29
+*helphelp.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -7,7 +7,7 @@
Help on help files *helphelp*
1. Help commands |online-help|
-2. Translating help files |help-translated|
+2. Translated help files |help-translated|
3. Writing help files |help-writing|
==============================================================================
@@ -188,7 +188,7 @@ command: >
Only for backwards compatibility. It now executes the
ToolBar.FindHelp menu entry instead of using a builtin
dialog. {only when compiled with |+GUI_GTK|}
-< {not in Vi}
+ {not in Vi}
*:helpt* *:helptags*
*E154* *E150* *E151* *E152* *E153* *E670*
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 74eff962..9fe55870 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt* For Vim version 7.3. Last change: 2010 Jul 29
+*insert.txt* For Vim version 7.3. Last change: 2010 Sep 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -555,12 +555,11 @@ CTRL-D, 'expandtab', 'smarttab', 'softtabstop', etc.
In 'list' mode, Virtual Replace mode acts as if it was not in 'list' mode,
unless "L" is in 'cpoptions'.
-Note that the only times characters beyond the cursor should appear to move
-are in 'list' mode, and occasionally when 'wrap' is set (and the line changes
-length to become shorter or wider than the width of the screen), or
-momentarily when typing over a CTRL character. A CTRL character takes up two
-screen spaces. When replacing it with two normal characters, the first will
-be inserted and the second will replace the CTRL character.
+Note that the only situations for which characters beyond the cursor should
+appear to move are in List mode |'list'|, and occasionally when 'wrap' is set
+(and the line changes length to become shorter or wider than the width of the
+screen). In other cases spaces may be inserted to avoid following characters
+to move.
This mode is very useful for editing <Tab> separated columns in tables, for
entering new data while keeping all the columns aligned.
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index 4494568e..b0aa754a 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt* For Vim version 7.3. Last change: 2010 Aug 10
+*message.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -65,7 +65,7 @@ or view a list of recent messages with: >
LIST OF MESSAGES
*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
- *E323* *E341* *E473* *E570* *E685* >
+ *E323* *E341* *E473* *E570* *E685* >
Add to read buffer
makemap: Illegal mode
Cannot create BalloonEval with both message and callback
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt
index 94a52970..81d18418 100644
--- a/runtime/doc/os_vms.txt
+++ b/runtime/doc/os_vms.txt
@@ -1,4 +1,4 @@
-*os_vms.txt* For Vim version 7.3. Last change: 2010 Jul 28
+*os_vms.txt* For Vim version 7.3. Last change: 2010 Aug 16
VIM REFERENCE MANUAL
@@ -675,7 +675,7 @@ slow when user wants to run Vim just in the console mode - because of X environm
Luckily, there is a simple solution for that. Administrators need to deploy
both GUI/GTK build and just console build executables, like below: >
- |- vim72
+ |- vim73
|----- doc
|----- syntax
vimrc (system rc files)
@@ -685,7 +685,7 @@ both GUI/GTK build and just console build executables, like below: >
Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
- $ define/nolog VIM RF10:[UTIL.VIM72] ! where you VIM directory is
+ $ define/nolog VIM RF10:[UTIL.VIM73] ! where you VIM directory is
$ vi*m :== mcr VIM:VIM.EXE
$ gvi*m :== mcr VIM:GVIM.EXE
$ ! or you can try to spawn with
@@ -755,7 +755,7 @@ Solution 2. Different directories: >
$ define/nolog VIM RF10:[UTIL.IA64_EXE] ! IA64 executables
$ endif
$! VIMRUNTIME must be defined in order to find runtime files
- $ define/nolog VIMRUNTIME RF10:[UTIL.VIM72]
+ $ define/nolog VIMRUNTIME RF10:[UTIL.VIM73]
A good example for this approach is the [GNU]gnu_tools.com script from
GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
diff --git a/runtime/doc/pi_zip.txt b/runtime/doc/pi_zip.txt
index 7b724774..6ad6e31e 100644
--- a/runtime/doc/pi_zip.txt
+++ b/runtime/doc/pi_zip.txt
@@ -1,4 +1,4 @@
-*pi_zip.txt* For Vim version 7.3. Last change: 2010 Apr 12
+*pi_zip.txt* For Vim version 7.3. Last change: 2010 Sep 14
+====================+
| Zip File Interface |
@@ -64,12 +64,11 @@ Copyright: Copyright (C) 2005-2009 Charles E Campbell, Jr *zip-copyright*
If for some reason you do not wish to use vim to examine zipped files,
you may put the following two variables into your <.vimrc> to prevent
- the tar plugin from loading: >
+ the zip plugin from loading: >
let g:loaded_zipPlugin= 1
let g:loaded_zip = 1
<
-<
==============================================================================
3. Additional Extensions *zip-extension*
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 7f793b22..a3e11497 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt* For Vim version 7.3. Last change: 2010 Jul 24
+*quickref.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1091,11 +1091,11 @@ Context-sensitive completion on the command-line:
|:_#| #[num] alternate file name [num] (only where a file name is
expected)
Note: The next seven are typed literally; these are not special keys!
-|:<afile>| <abuf> buffer number, for use in an autocommand (only where a
+|:<abuf>| <abuf> buffer number, for use in an autocommand (only where a
file name is expected)
-|:<afile>| <afile> file name, for user in an autocommand (only where a
+|:<afile>| <afile> file name, for use in an autocommand (only where a
file name is expected)
-|:<afile>| <amatch> what matched with the pattern, for use in an
+|:<amatch>| <amatch> what matched with the pattern, for use in an
autocommand (only where a file name is expected)
|:<cword>| <cword> word under the cursor (only where a file name is
expected)
@@ -1377,7 +1377,7 @@ Context-sensitive completion on the command-line:
set foldmethod=indent folding by indent
set foldmethod=expr folding by 'foldexpr'
set foldmethod=syntax folding by syntax regions
- set foldmethod=marker folding by 'foldmarkers'
+ set foldmethod=marker folding by 'foldmarker'
|zf| zf{motion} operator: Define a fold manually
|:fold| :{range}fold define a fold for {range} lines
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 0632e8cd..ba9083c2 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt* For Vim version 7.3. Last change: 2009 Dec 31
+*starting.txt* For Vim version 7.3. Last change: 2010 Sep 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -95,14 +95,14 @@ exim vim -E Start in improved Ex mode (see |Ex-mode|). *exim*
(normally not installed)
view vim -R Start in read-only mode (see |-R|). *view*
gvim vim -g Start the GUI (see |gui|). *gvim*
-gex vim -eg Start the GUI in Ex mode. *gex*
-gview vim -Rg Start the GUI in read-only mode. *gview*
+gex vim -eg Start the GUI in Ex mode. *gex*
+gview vim -Rg Start the GUI in read-only mode. *gview*
rvim vim -Z Like "vim", but in restricted mode (see |-Z|) *rvim*
-rview vim -RZ Like "view", but in restricted mode. *rview*
-rgvim vim -gZ Like "gvim", but in restricted mode. *rgvim*
-rgview vim -RgZ Like "gview", but in restricted mode. *rgview*
+rview vim -RZ Like "view", but in restricted mode. *rview*
+rgvim vim -gZ Like "gvim", but in restricted mode. *rgvim*
+rgview vim -RgZ Like "gview", but in restricted mode. *rgview*
evim vim -y Easy Vim: set 'insertmode' (see |-y|) *evim*
-eview vim -yR Like "evim" in read-only mode *eview*
+eview vim -yR Like "evim" in read-only mode *eview*
vimdiff vim -d Start in diff mode |diff-mode|
gvimdiff vim -gd Start in diff mode |diff-mode|
@@ -244,7 +244,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
-Z Restricted mode. All commands that make use of an external
shell are disabled. This includes suspending with CTRL-Z,
":sh", filtering, the system() function, backtick expansion,
- etc.
+ delete(), rename(), mkdir(), writefile(), libcall(), etc.
{not in Vi}
*-g*
@@ -869,6 +869,7 @@ accordingly. Vim proceeds in this order:
12. Execute startup commands
If a "-t" flag was given to Vim, the tag is jumped to.
The commands given with the |-c| and |+cmd| arguments are executed.
+ The starting flag is reset, has("vim_starting") will now return zero.
If the 'insertmode' option is set, Insert mode is entered.
The |VimEnter| autocommands are executed.
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 267ec5bd..171933bc 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 7.3. Last change: 2010 Aug 10
+*syntax.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3953,7 +3953,7 @@ To show the syntax items for one syntax group: >
:sy[ntax] list {group-name}
-To list the syntax groups in one cluster: *E392* >
+To list the syntax groups in one cluster: *E392* >
:sy[ntax] list @{cluster-name}
@@ -4612,7 +4612,7 @@ is loaded into that window or the file is reloaded.
When splitting the window, the new window will use the original syntax.
==============================================================================
-16. Color xterms *xterm-color* *color-xterm*
+17. Color xterms *xterm-color* *color-xterm*
Most color xterms have only eight colors. If you don't get colors with the
default setup, it should work with these lines in your .vimrc: >
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index b2ab959a..7c8244b4 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.3. Last change: 2010 Aug 15
+*todo.txt* For Vim version 7.3. Last change: 2010 Sep 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,23 +30,97 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
-":find e" completion, editing a file in the Vim source directory, 'path' set
-to "./proto", does not shorten ./proto/eval.pro, probably because of
-./proto/ex_eval.pro.
+"buffer" in if_python.c, ex_pyfile() shadows global var buffer in if_py_both.h
+
+Crash on Windows when using strftime(). (Christian Brabandt, 2010 Aug 18)
+Appears to be triggered by '%R' and '%T'.
+Use the bad_param_handler() (Mike Williams, 2010 Aug 19, 20)
+
+Patch: missing break in Mac GUI. (Dominique Pelle, 2010 Aug 19)
+
+":e ~br<Tab>" does not complete to ":e /home/bram/". Crash too?
+
+Patch for Mingw build file (Jon, 2010 Aug 22)
+Patch for loading different Ruby versions. (Jon, 2010 Aug 23)
+
+Patch for clipboard not working properly: (Toni Ronkko)
+http://softagalleria.net/download/vim/clipboard.patch
+Clipboard not working with Athena. (Micael Ringe, 2010 Sep 13)
+
+Document cscope and sign completion for user commands. (Peter Odding, 2010 Aug
+19)
Problem with \NL in Ex script. (Ray Frish, 2010 Aug 10)
+Runtime file for Falcon. (Steven Oliver, 2010 Sep 14)
+
+Patch to fix error tags in help files. (Dominique Pelle, 2010 Aug 25)
+
+Patch to fix :nbstart silently failing. (Xavier de Gaye, 2010 Aug 20)
+Another one for when Athena has netbeans support.
+
+patch for 3 bugs reported by smatch. (Dominique Pelle, 2010 Aug 23)
+
+'cursorline' is displayed too short when there are concealed characters and
+'list' is set, 'listchars' at default value. (Dennis Preiser, 2010 Aug 15)
+
+Hang on slave PTY on Mac. Patch from Nikola Knezevic, 2010 Aug 29.
+
+Patch to support netbeans under Athena. (Xavier de Gaye, 2010 Aug 20)
+
+Patch to fix sign type negative and memory not freed. (Xavier de Gaye, 2010
+Aug 20)
+
+Conceal: using Tab for cchar causes problems. Should reject it. (ZyX, 2010
+Aug 25)
+
+Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
+only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
+21, Ben Fritz, 2010 Sep 14)
+
+Patch for :mksession not escaping file name properly. (Peter Odding, 2010 Sep
+19)
+
+Patch for :grep docs. (Britton Kerin, 2010 Aug 31)
+
+Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
+
+maparg() doesn't return the flags, such as <buffer>, <script>, <silent>.
+These are needed to save and restore a mapping.
+Also: the rhs string is not always correct. (Hari Krishna Dara, 2009 Sept 29)
+Patch by Christian Brabandt, 2010 Sep 17.
+
+Building the MingW version without clipboard but with multi-byte doesn't
+build. (Bill Lam, 2010 Sep 18)
+
Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
+Patch to fix warning for accessing mediumVersion. (Dominique Pelle, 2010 Aug
+18)
+
+Patch for 2html to support 'fileencoding'. (Benjamin Fritz, 2010 Sep 10)
+
CTRL-] on help tag |/[\n]| doesn't jump to the right place. (Tony Mechelynck,
2010 Aug 8)
+Three patches for undo persistence. (Christian Brabandt, 2010 Sep 4)
+
+string() can't parse back "inf" and "nan". Fix documentation or fix code?
+(XyX, 2010 Aug 23)
+
":command Print echo 'print'" works, but ":Print" doesn't. Builtin Print
should be overruled. (Aaron Thoma)
+Patch by Christian Brabandt, 2010 Sep 5.
+
+Comparing recursive structure loops forever. (ZyX, 2010 Aug 22, info from John
+Beckett Aug 23)
GTK: drawing a double-width combining character over single-width characters
doesn't look right. (Dominique Pelle, 2010 Aug 8)
+copy/paste between Vim and Google chrome doesn't work well for multi-byte
+characters. (Ben Haskell, 2010 Sep 17)
+
Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer?
@@ -55,15 +129,33 @@ Results in E670. (Tony Mechelynck, 2010 May 2)
setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
+getpos()/setpos() don't include curswant. getpos() could return a fifth
+element. setpos() could accept an optional fifth element.
+Patch by Christian Brabandt, 2010 Sep 6. Check that new argument is optional
+and that it's documented.
+
+Messages in message.txt are highlighted as examples.
+
+Win32: Patch to fix slow access over network (David Anderson). Cleaned up by
+John Beckett, 2010 Aug 25.
+
Test 73 fails on MS-Windows when compiled with DJGPP and run twice. How to
delete the Xfind directory? Add an rmdir() function, just like we have
mkdir().
'cindent' not correct when 'list' is set. (Zdravi Korusef, 2010 Apr 15)
+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)
+
":helpgrep" does not put the cursor in the correct column when preceded by
accented character. (Tony Mechelynck, 2010 Apr 15)
+Don't call check_restricted() for histadd(), setbufvar(), settabvar(),
+setwinvar().
+
Echo starts in the wrong column:
while 1 | let s = input('A') | echo 'R' | endw
(Boyko Bantchev, 2010 Aug 9)
@@ -75,6 +167,9 @@ Patch to make more characters work in dialogs. (Yankwei Jia, 2010 Aug 4)
":drop" does not respect 'autochdir'. (Peter Odding, 2010 Jul 24)
+When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
+instead of one. (Constantin Pan, 2010 Sep 10)
+
Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
Additional info by Dominique Pelle. (also on 2010 Apr 10)
@@ -162,6 +257,12 @@ line argument -noregister.
When a mapping exists both for insert mode and lang-insert mode, the last one
doesn't work. (Tyru, 2010 May 6) Or is this intended?
+Cursor position wrong when 'formatoptions' contains "a". (Moshe Kamensky, 2010
+Sep 7, Gary Johnson, 2010 Sep 14)
+Formatoptions cause cursor to jump. (ZyX, 2010 Aug 22)
+Caused by revision 2294, "Make joining a range of lines much faster. (Milan
+Vancura)" ?
+
Still a problem with ":make" in the wrong directory. Caused by ":bufdo".
(Ajit Thakkar, 2009 Jul 1) More information Jul 9, Jul 15.
Caused by "doautoall syntaxset BufEnter *" in syntax/nosyntax.vim ?
@@ -178,8 +279,13 @@ Probably needs a bit of work.
List of encoding aliases. (Takao Fujiware, 2009 Jul 18)
Are they all OK? Update Jul 22.
+Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18)
+
Win32: Expanding 'path' runs into a maximum size limit. (bgold12, 2009 Nov 15)
+Win32: Patch for enabling quick edit mode in console. (Craig Barkhouse, 2010
+Sep 1)
+
Putting a Visual block while 'visualedit' is "all" does not leave the cursor
on the first character. (John Beckett, 2010 Aug 7)
@@ -288,10 +394,6 @@ very high. (Yegappan Lakshmanan, 2010 Jul 22, Michael Peeters, 2010 Jul 22)
Directory wrong in session file, caused by ":lcd" in BufEnter autocommand.
(Felix Kater, 2009 Mar 3)
-maparg() doesn't return the flags, such as <buffer>, <script>, <silent>.
-These are needed to save and restore a mapping.
-Also: the rhs string is not always correct. (Hari Krishna Dara, 2009 Sept 29)
-
Using ~ works OK on 'a' with composing char, but not on 0x0418 with composing
char 0x0301. (Tony Mechelynck, 2009 Mar 4)
@@ -424,6 +526,15 @@ argument is processed for <f-args>. (Ivan Tishchenko, 2008 Aug 19)
Win32: associating a type with Vim doesn't take care of space after a
backslash? (Robert Vibrant, 2008 Jun 5)
+Win32: bold font doesn't work when 'guifontwide' has been set. (Yue Wu, 2010
+Aug 23)
+
+When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a
+line. It's also wrong in folds. (Dominique Pelle, 2010 Aug 21)
+
+Using an insert mode expression mapping, cursor is not in the expected
+position. (ZyX, 2010 Aug 29)
+
After using <Tab> for command line completion after ":ta blah" and getting E33
(no tags file), further editing the command to e.g., ":echo 'blah'", the
command is not executed. Fix by Ian Kelling?
@@ -513,6 +624,12 @@ When 'smartcase' is set and using CTRL-L to add to the search pattern it may
result in no matches. Convert chars to lower case? (Erik Wognsen, 2009 Apr
16)
+Searching for composing char works, but not when inside []. (ZyX, Benjamin R.
+Haskell, 2010 Aug 24)
+
+Fail to edit file after failed register access. Error flag remains set?
+(Lech Lorens, 2010 Aug 30)
+
Patch for redo register. (Ben Schmidt, 2007 Oct 19)
Await response to question to make the register writable.
@@ -560,6 +677,7 @@ C syntax: {} inside () causes following {} to be highlighted as error.
Can't easily close the help window, like ":pc" closes the preview window and
":ccl" closes the quickfix window. Add ":hclose". (Chris Gaal)
+Patch for :helpclose, Christian Brabandt, 2010 Sep 6.
When 'diffopt' has "context:0" a single deleted line causes two folds to merge
and mess up syncing. (Austin Jennings, 2008 Jan 31)
@@ -589,6 +707,9 @@ Asked about latest version: 0.77.1 is on www.vim.org.
More AmigaOS4 patches. (Peter Bengtsson, Nov 9)
+Amiga patches with vbcc. (Adrien Destugues, 2010 Aug 30)
+http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff
+
Insert mode completion: When editing the text and pressing CTRL-N again goes
back to originally completed text, edited text is gone. (Peng Yu, 2008 Jul 24)
Suggestion by Ben Schmidt, 2008 Aug 6.
@@ -718,9 +839,6 @@ Win32: When there is 4 Gbyte of memory mch_avail_mem() doesn't work properly.
Unfinished patch by Jelle Geerts, 2008 Aug 24.
Let mch_avail_mem() return Kbyte instead?
-Win32: With two monitors, gvim partly on both, and adding/removing a scrollbar
-Vim resizes and moves to one of the monitors. (Chris Monkiewicz, 2008 Oct)
-
Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
only takes 'shellslash' into account.
@@ -802,9 +920,6 @@ VMS: VFC files are in some cases truncated during reading (Zoltan Arpadffy)
input() completion should not insert a backslash to escape a space in a file
name?
-getpos()/setpos() don't include curswant. getpos() could return a fifth
-element. setpos() could accept an optional fifth element.
-
Ruby completion is insecure. Can this be fixed?
When 'backupskip' is set from $TEMP special characters need to be escaped.
@@ -993,9 +1108,6 @@ resulting in highlighted "{" in that window, not in the other.
In mswin.vim: Instead of mapping <C-V> for Insert mode in a complicated way,
can it be done like ":imap <C-V> <MiddleMouse>" without negative side effects?
-Win32: When the GUI tab pages line is displayed Vim jumps from the secondary
-to the primary monitor. (Afton Lewis, 2007 Mar 9) Old resizing problem?
-
GTK: when the Tab pages bar appears or disappears while the window is
maximized the window is no longer maximized. Patch that has some idea but
doesn't work from Geoffrey Antos, 2008 May 5.
@@ -1319,9 +1431,18 @@ Win32 GUI known bugs:
the wide functions.
8 On Windows 98 the unicows library is needed to support functions with UCS2
file names. Can we load unicows.dll dynamically?
+8 Win32: With two monitors, gvim partly on both, and adding/removing a
+ scrollbar Vim resizes and moves to one of the monitors. (Chris Monkiewicz,
+ 2008 Oct)
8 When the primary monitor is below or right of the secondary monitor and
Vim is on the secondary monitor it will often move to the primary monitor.
Window position coordinates can be negative. (James Harvey)
+ When the primary monitor is on the right, coordinates on the left monitor
+ are negative. Clamping to zero means gvim jups to the primary monitor.
+ (Michael Wookey, 2010 Aug 17)
+ Probably the same issue: When the GUI tab pages line is displayed Vim
+ jumps from the secondary to the primary monitor. (Afton Lewis, 2007 Mar 9)
+ Possible solution using GetSystemMetrics() (Sergey Khorev, 2010 Aug 18)
8 The -P argument doesn't work very well with many MDI applications.
The last argument of CreateWindowEx() should be used, see MSDN docs.
Tutorial: http://win32assembly.online.fr/tut32.html
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index 3c47db7f..afa959b1 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt* For Vim version 7.3. Last change: 2010 Jul 20
+*undo.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -125,9 +125,9 @@ This is explained in the user manual: |usr_32.txt|.
*:undol* *:undolist*
:undol[ist] List the leafs in the tree of changes. Example:
- number changes time ~
+ number changes time saved ~
4 10 10:34:11
- 18 4 11:01:46
+ 18 4 11:01:46 7
The "number" column is the change number. This number
continuously increases and can be used to identify a
@@ -135,6 +135,9 @@ This is explained in the user manual: |usr_32.txt|.
The "changes" column is the number of changes to this
leaf from the root of the tree.
The "time" column is the time this change was made.
+ The "saved" column specifies, if this change was
+ written to disk and which file write it was. This can
+ be used with the |later| and |earlier| commands.
For more details use the |undotree()| function.
*g-*
@@ -148,7 +151,7 @@ g- Go to older text state. With a count repeat that many
:earlier {N}d Go to older text state about {N} days before.
:earlier {N}f Go to older text state {N} file writes before.
- When changes were made since the laste write
+ When changes were made since the last write
":earlier 1f" will revert the text to the state when
it was written. Otherwise it will go to the write
before that.
@@ -324,8 +327,8 @@ Writing an undo file may fail for these reasons:
A file exists with the name of the undo file to be written, but it
does not start with the right magic number. You may want to delete
this file or rename it.
-"Skipping undo file write, noting to undo"
- There is no undo information not be written, nothing has been changed
+"Skipping undo file write, nothing to undo"
+ There is no undo information to be written, nothing has been changed
or 'undolevels' is negative.
*E829* An error occurred while writing the undo file. You may want to try
again.
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index d3b15526..6569b257 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 7.3. Last change: 2010 Aug 10
+*various.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -610,7 +610,7 @@ g CTRL-A Only when Vim was compiled with MEM_PROFILING defined
Only useful for debugging Vim.
==============================================================================
-3. Using Vim like less or more *less*
+2. Using Vim like less or more *less*
If you use the less or more program to view a file, you don't get syntax
highlighting. Thus you would like to use Vim instead. You can do this by
diff --git a/runtime/syntax/d.vim b/runtime/syntax/d.vim
index 964936e6..e43487cd 100644
--- a/runtime/syntax/d.vim
+++ b/runtime/syntax/d.vim
@@ -1,16 +1,19 @@
-" Vim syntax file for the D programming language (version 1.053 and 2.039).
+" Vim syntax file for the D programming language (version 1.053 and 2.047).
"
-" Language: D
-" Maintainer: Jason Mills<jasonmills@nf.sympatico.ca>
-" Last Change: 2010 Jan 07
-" Version: 0.18
+" Language: D
+" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
+" Last Change: 2010 Sep 9
+" Version: 0.21
"
" Contributors:
+" - Jason Mills <jasonmills@nf.sympatico.ca>: original Maintainer
" - Kirk McDonald: version 0.17 updates, with minor modifications
" (http://paste.dprogramming.com/dplmb7qx?view=hidelines)
-" - Jesse K. Phillips: patch for some keywords and attributes (annotations), with modifications
" - Tim Keating: patch to fix a bug in highlighting the `\` literal
" - Frank Benoit: Fixed a bug that caused some identifiers and numbers to highlight as octal number errors.
+" - Shougo Matsushita <Shougo.Matsu@gmail.com>: updates for latest 2.047 highlighting
+" - Ellery Newcomer: Fixed some highlighting bugs.
+" - Steven N. Oliver: #! highlighting
"
" Please email me with bugs, comments, and suggestions.
"
@@ -47,52 +50,89 @@ endif
" Keyword definitions
"
-syn keyword dExternal import package module extern
-syn keyword dConditional if else switch
-syn keyword dBranch goto break continue
-syn keyword dRepeat while for do foreach foreach_reverse
-syn keyword dBoolean true false
-syn keyword dConstant null
-syn keyword dConstant __FILE__ __LINE__ __EOF__ __VERSION__
-syn keyword dConstant __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
-
-syn keyword dTypedef alias typedef
-syn keyword dStructure template interface class struct union
-syn keyword dEnum enum
-syn keyword dOperator new delete typeof typeid cast align is
-syn keyword dOperator this super
+syn keyword dExternal import package module extern
+syn keyword dConditional if else switch
+syn keyword dBranch goto break continue
+syn keyword dRepeat while for do foreach foreach_reverse
+syn keyword dBoolean true false
+syn keyword dConstant null
+syn keyword dConstant __FILE__ __LINE__ __EOF__ __VERSION__
+syn keyword dConstant __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
+syn keyword dTypedef alias typedef
+syn keyword dStructure template interface class struct union
+syn keyword dEnum enum
+syn keyword dOperator new delete typeof typeid cast align is
+syn keyword dOperator this super
if exists("d_hl_operator_overload")
- syn keyword dOpOverload opNeg opCom opPostInc opPostDec opCast opAdd opSub opSub_r
- syn keyword dOpOverload opMul opDiv opDiv_r opMod opMod_r opAnd opOr opXor
- syn keyword dOpOverload opShl opShl_r opShr opShr_r opUShr opUShr_r opCat
- syn keyword dOpOverload opCat_r opEquals opEquals opCmp
- syn keyword dOpOverload opAssign opAddAssign opSubAssign opMulAssign opDivAssign
- syn keyword dOpOverload opModAssign opAndAssign opOrAssign opXorAssign
- syn keyword dOpOverload opShlAssign opShrAssign opUShrAssign opCatAssign
- syn keyword dOpOverload opIndex opIndexAssign opCall opSlice opSliceAssign opPos
- syn keyword dOpOverload opAdd_r opMul_r opAnd_r opOr_r opXor_r opIn opIn_r
- syn keyword dOpOverload opPow opDispatch opStar opDot opApply opApplyReverse
+ syn keyword dOpOverload opNeg opCom opPostInc opPostDec opCast opAdd
+ syn keyword dOpOverload opSub opSub_r opMul opDiv opDiv_r opMod
+ syn keyword dOpOverload opMod_r opAnd opOr opXor opShl opShl_r opShr
+ syn keyword dOpOverload opShr_r opUShr opUShr_r opCat
+ syn keyword dOpOverload opCat_r opEquals opEquals opCmp
+ syn keyword dOpOverload opAssign opAddAssign opSubAssign opMulAssign
+ syn keyword dOpOverload opDivAssign opModAssign opAndAssign
+ syn keyword dOpOverload opOrAssign opXorAssign opShlAssign
+ syn keyword dOpOverload opShrAssign opUShrAssign opCatAssign
+ syn keyword dOpOverload opIndex opIndexAssign opIndexOpAssign
+ syn keyword dOpOverload opCall opSlice opSliceAssign opSliceOpAssign
+ syn keyword dOpOverload opPos opAdd_r opMul_r opAnd_r opOr_r opXor_r
+ syn keyword dOpOverload opIn opIn_r opPow opDispatch opStar opDot
+ syn keyword dOpOverload opApply opApplyReverse
+ syn keyword dOpOverload opUnary opIndexUnary opSliceUnary
+ syn keyword dOpOverload opBinary opBinaryRight
endif
-syn keyword dType ushort int uint long ulong float
-syn keyword dType void byte ubyte double bit char wchar ucent cent
-syn keyword dType short bool dchar string wstring dstring
-syn keyword dType real ireal ifloat idouble creal cfloat cdouble
-syn keyword dDebug deprecated unittest
-syn keyword dExceptions throw try catch finally
-syn keyword dScopeDecl public protected private export
-syn keyword dStatement version debug return with
-syn keyword dStatement function delegate __traits asm mixin macro
-syn keyword dStorageClass in out inout ref lazy scope body
-syn keyword dStorageClass pure nothrow
-syn keyword dStorageClass auto static override final abstract volatile __gshared __thread
-syn keyword dStorageClass synchronized immutable shared const invariant lazy
-syn keyword dPragma pragma
+
+syn keyword dType void ushort int uint long ulong float
+syn keyword dType byte ubyte double bit char wchar ucent cent
+syn keyword dType short bool dchar wstring dstring
+syn keyword dType real ireal ifloat idouble
+syn keyword dType creal cfloat cdouble
+syn keyword dDebug deprecated unittest invariant
+syn keyword dExceptions throw try catch finally
+syn keyword dScopeDecl public protected private export
+syn keyword dStatement debug return with
+syn keyword dStatement function delegate __traits mixin macro
+syn keyword dStorageClass in out inout ref lazy body
+syn keyword dStorageClass pure nothrow
+syn keyword dStorageClass auto static override final abstract volatile
+syn keyword dStorageClass __gshared __thread
+syn keyword dStorageClass synchronized shared immutable const lazy
+syn keyword dPragma pragma
+syn keyword dIdentifier _arguments _argptr __vptr __monitor _ctor _dtor
+syn keyword dScopeIdentifier contained exit success failure
+syn keyword dAttribute contained safe trusted system
+syn keyword dAttribute contained property disable
+syn keyword dVersionIdentifier contained DigitalMars GNU LDC LLVM
+syn keyword dVersionIdentifier contained X86 X86_64 Windows Win32 Win64
+syn keyword dVersionIdentifier contained linux Posix OSX FreeBSD
+syn keyword dVersionIdentifier contained LittleEndian BigEndian D_Coverage
+syn keyword dVersionIdentifier contained D_Ddoc D_InlineAsm_X86
+syn keyword dVersionIdentifier contained D_InlineAsm_X86_64 D_LP64 D_PIC
+syn keyword dVersionIdentifier contained unittest D_Version2 none all
+
+" Highlight the sharpbang
+syn match dSharpBang "\%^#!.*" display
" Attributes/annotations
-syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>"
+syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute
+
+" Version Identifiers
+syn match dVersion "version\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+7 contains=dVersionIdentifier
+syn match dVersion "[^.]\s*\<version\>"
+syn match dVersion "^\<version\>"
+
+" Scope StorageClass
+syn match dStorageClass "scope"
+
+" Scope Identifiers
+syn match dScope "scope\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+5 contains=dScopeIdentifier
+
+" String is a statement and a module name.
+syn match dType "^string"
+syn match dType "[^.]\s*\<string\>"ms=s+1
" Assert is a statement and a module name.
-syn match dAssert "^assert\>"
+syn match dAssert "^assert"
syn match dAssert "[^.]\s*\<assert\>"ms=s+1
" dTokens is used by the token string highlighting
@@ -101,26 +141,18 @@ syn cluster dTokens add=dConstant,dTypedef,dStructure,dOperator,dOpOverload
syn cluster dTokens add=dType,dDebug,dExceptions,dScopeDecl,dStatement
syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation
-" Marks contents of the asm statment body as special
-"
-" TODO
-"syn match dAsmStatement "\<asm\>"
-"syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement
-"
-"hi def link dAsmBody dUnicode
-"hi def link dAsmStatement dStatement
" Labels
"
" We contain dScopeDecl so public: private: etc. are not highlighted like labels
syn match dUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl,dEnum
-syn keyword dLabel case default
+syn keyword dLabel case default
syn cluster dTokens add=dUserLabel,dLabel
" Comments
"
-syn keyword dTodo contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
+syn keyword dTodo contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
syn match dCommentStar contained "^\s*\*[^/]"me=e-1
syn match dCommentStar contained "^\s*\*$"
syn match dCommentPlus contained "^\s*+[^/]"me=e-1
@@ -251,51 +283,184 @@ syn region dPragma start="#\s*\(line\>\)" skip="\\$" end="$"
" The default highlighting.
"
-hi def link dBinary Number
-hi def link dDec Number
-hi def link dHex Number
-hi def link dOctal Number
-hi def link dFloat Float
-hi def link dHexFloat Float
-hi def link dDebug Debug
-hi def link dBranch Conditional
-hi def link dConditional Conditional
-hi def link dLabel Label
-hi def link dUserLabel Label
-hi def link dRepeat Repeat
-hi def link dExceptions Exception
-hi def link dAssert Statement
-hi def link dStatement Statement
-hi def link dScopeDecl dStorageClass
-hi def link dStorageClass StorageClass
-hi def link dBoolean Boolean
-hi def link dUnicode Special
-hi def link dTokenStringBrack String
-hi def link dHereString String
-hi def link dNestString String
-hi def link dDelimString String
-hi def link dRawString String
-hi def link dString String
-hi def link dHexString String
-hi def link dCharacter Character
-hi def link dEscSequence SpecialChar
-hi def link dSpecialCharError Error
-hi def link dOctalError Error
-hi def link dOperator Operator
-hi def link dOpOverload Identifier
-hi def link dConstant Constant
-hi def link dTypedef Typedef
-hi def link dEnum Structure
-hi def link dStructure Structure
-hi def link dTodo Todo
-hi def link dType Type
-hi def link dLineComment Comment
-hi def link dBlockComment Comment
-hi def link dNestedComment Comment
-hi def link dExternal Include
-hi def link dPragma PreProc
-hi def link dAnnotation PreProc
+hi def link dBinary Number
+hi def link dDec Number
+hi def link dHex Number
+hi def link dOctal Number
+hi def link dFloat Float
+hi def link dHexFloat Float
+hi def link dDebug Debug
+hi def link dBranch Conditional
+hi def link dConditional Conditional
+hi def link dLabel Label
+hi def link dUserLabel Label
+hi def link dRepeat Repeat
+hi def link dExceptions Exception
+hi def link dAssert Statement
+hi def link dStatement Statement
+hi def link dScopeDecl dStorageClass
+hi def link dStorageClass StorageClass
+hi def link dBoolean Boolean
+hi def link dUnicode Special
+hi def link dTokenStringBrack String
+hi def link dHereString String
+hi def link dNestString String
+hi def link dDelimString String
+hi def link dRawString String
+hi def link dString String
+hi def link dHexString String
+hi def link dCharacter Character
+hi def link dEscSequence SpecialChar
+hi def link dSpecialCharError Error
+hi def link dOctalError Error
+hi def link dOperator Operator
+hi def link dOpOverload Identifier
+hi def link dConstant Constant
+hi def link dTypedef Typedef
+hi def link dEnum Structure
+hi def link dStructure Structure
+hi def link dTodo Todo
+hi def link dType Type
+hi def link dLineComment Comment
+hi def link dBlockComment Comment
+hi def link dNestedComment Comment
+hi def link dExternal Include
+hi def link dPragma PreProc
+hi def link dAnnotation PreProc
+hi def link dSharpBang PreProc
+hi def link dAttribute StorageClass
+hi def link dIdentifier Identifier
+hi def link dVersionIdentifier Identifier
+hi def link dVersion dStatement
+hi def link dScopeIdentifier dStatement
+hi def link dScope dStorageClass
let b:current_syntax = "d"
-" vim: ts=8 noet
+" Marks contents of the asm statment body as special
+
+syn match dAsmStatement "\<asm\>"
+syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement,dAsmOpCode
+
+hi def link dAsmBody dUnicode
+hi def link dAsmStatement dStatement
+hi def link dAsmOpCode Identifier
+
+syn keyword dAsmOpCode contained aaa aad aam aas adc
+syn keyword dAsmOpCode contained add addpd addps addsd addss
+syn keyword dAsmOpCode contained and andnpd andnps andpd andps
+syn keyword dAsmOpCode contained arpl bound bsf bsr bswap
+syn keyword dAsmOpCode contained bt btc btr bts call
+syn keyword dAsmOpCode contained cbw cdq clc cld clflush
+syn keyword dAsmOpCode contained cli clts cmc cmova cmovae
+syn keyword dAsmOpCode contained cmovb cmovbe cmovc cmove cmovg
+syn keyword dAsmOpCode contained cmovge cmovl cmovle cmovna cmovnae
+syn keyword dAsmOpCode contained cmovnb cmovnbe cmovnc cmovne cmovng
+syn keyword dAsmOpCode contained cmovnge cmovnl cmovnle cmovno cmovnp
+syn keyword dAsmOpCode contained cmovns cmovnz cmovo cmovp cmovpe
+syn keyword dAsmOpCode contained cmovpo cmovs cmovz cmp cmppd
+syn keyword dAsmOpCode contained cmpps cmps cmpsb cmpsd cmpss
+syn keyword dAsmOpCode contained cmpsw cmpxch8b cmpxchg comisd comiss
+syn keyword dAsmOpCode contained cpuid cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi
+syn keyword dAsmOpCode contained cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd
+syn keyword dAsmOpCode contained cvtps2pi cvtsd2si cvtsd2ss cvtsi2sd cvtsi2ss
+syn keyword dAsmOpCode contained cvtss2sd cvtss2si cvttpd2dq cvttpd2pi cvttps2dq
+syn keyword dAsmOpCode contained cvttps2pi cvttsd2si cvttss2si cwd cwde
+syn keyword dAsmOpCode contained da daa das db dd
+syn keyword dAsmOpCode contained de dec df di div
+syn keyword dAsmOpCode contained divpd divps divsd divss dl
+syn keyword dAsmOpCode contained dq ds dt dw emms
+syn keyword dAsmOpCode contained enter f2xm1 fabs fadd faddp
+syn keyword dAsmOpCode contained fbld fbstp fchs fclex fcmovb
+syn keyword dAsmOpCode contained fcmovbe fcmove fcmovnb fcmovnbe fcmovne
+syn keyword dAsmOpCode contained fcmovnu fcmovu fcom fcomi fcomip
+syn keyword dAsmOpCode contained fcomp fcompp fcos fdecstp fdisi
+syn keyword dAsmOpCode contained fdiv fdivp fdivr fdivrp feni
+syn keyword dAsmOpCode contained ffree fiadd ficom ficomp fidiv
+syn keyword dAsmOpCode contained fidivr fild fimul fincstp finit
+syn keyword dAsmOpCode contained fist fistp fisub fisubr fld
+syn keyword dAsmOpCode contained fld1 fldcw fldenv fldl2e fldl2t
+syn keyword dAsmOpCode contained fldlg2 fldln2 fldpi fldz fmul
+syn keyword dAsmOpCode contained fmulp fnclex fndisi fneni fninit
+syn keyword dAsmOpCode contained fnop fnsave fnstcw fnstenv fnstsw
+syn keyword dAsmOpCode contained fpatan fprem fprem1 fptan frndint
+syn keyword dAsmOpCode contained frstor fsave fscale fsetpm fsin
+syn keyword dAsmOpCode contained fsincos fsqrt fst fstcw fstenv
+syn keyword dAsmOpCode contained fstp fstsw fsub fsubp fsubr
+syn keyword dAsmOpCode contained fsubrp ftst fucom fucomi fucomip
+syn keyword dAsmOpCode contained fucomp fucompp fwait fxam fxch
+syn keyword dAsmOpCode contained fxrstor fxsave fxtract fyl2x fyl2xp1
+syn keyword dAsmOpCode contained hlt idiv imul in inc
+syn keyword dAsmOpCode contained ins insb insd insw int
+syn keyword dAsmOpCode contained into invd invlpg iret iretd
+syn keyword dAsmOpCode contained ja jae jb jbe jc
+syn keyword dAsmOpCode contained jcxz je jecxz jg jge
+syn keyword dAsmOpCode contained jl jle jmp jna jnae
+syn keyword dAsmOpCode contained jnb jnbe jnc jne jng
+syn keyword dAsmOpCode contained jnge jnl jnle jno jnp
+syn keyword dAsmOpCode contained jns jnz jo jp jpe
+syn keyword dAsmOpCode contained jpo js jz lahf lar
+syn keyword dAsmOpCode contained ldmxcsr lds lea leave les
+syn keyword dAsmOpCode contained lfence lfs lgdt lgs lidt
+syn keyword dAsmOpCode contained lldt lmsw lock lods lodsb
+syn keyword dAsmOpCode contained lodsd lodsw loop loope loopne
+syn keyword dAsmOpCode contained loopnz loopz lsl lss ltr
+syn keyword dAsmOpCode contained maskmovdqu maskmovq maxpd maxps maxsd
+syn keyword dAsmOpCode contained maxss mfence minpd minps minsd
+syn keyword dAsmOpCode contained minss mov movapd movaps movd
+syn keyword dAsmOpCode contained movdq2q movdqa movdqu movhlps movhpd
+syn keyword dAsmOpCode contained movhps movlhps movlpd movlps movmskpd
+syn keyword dAsmOpCode contained movmskps movntdq movnti movntpd movntps
+syn keyword dAsmOpCode contained movntq movq movq2dq movs movsb
+syn keyword dAsmOpCode contained movsd movss movsw movsx movupd
+syn keyword dAsmOpCode contained movups movzx mul mulpd mulps
+syn keyword dAsmOpCode contained mulsd mulss neg nop not
+syn keyword dAsmOpCode contained or orpd orps out outs
+syn keyword dAsmOpCode contained outsb outsd outsw packssdw packsswb
+syn keyword dAsmOpCode contained packuswb paddb paddd paddq paddsb
+syn keyword dAsmOpCode contained paddsw paddusb paddusw paddw pand
+syn keyword dAsmOpCode contained pandn pavgb pavgw pcmpeqb pcmpeqd
+syn keyword dAsmOpCode contained pcmpeqw pcmpgtb pcmpgtd pcmpgtw pextrw
+syn keyword dAsmOpCode contained pinsrw pmaddwd pmaxsw pmaxub pminsw
+syn keyword dAsmOpCode contained pminub pmovmskb pmulhuw pmulhw pmullw
+syn keyword dAsmOpCode contained pmuludq pop popa popad popf
+syn keyword dAsmOpCode contained popfd por prefetchnta prefetcht0 prefetcht1
+syn keyword dAsmOpCode contained prefetcht2 psadbw pshufd pshufhw pshuflw
+syn keyword dAsmOpCode contained pshufw pslld pslldq psllq psllw
+syn keyword dAsmOpCode contained psrad psraw psrld psrldq psrlq
+syn keyword dAsmOpCode contained psrlw psubb psubd psubq psubsb
+syn keyword dAsmOpCode contained psubsw psubusb psubusw psubw punpckhbw
+syn keyword dAsmOpCode contained punpckhdq punpckhqdq punpckhwd punpcklbw punpckldq
+syn keyword dAsmOpCode contained punpcklqdq punpcklwd push pusha pushad
+syn keyword dAsmOpCode contained pushf pushfd pxor rcl rcpps
+syn keyword dAsmOpCode contained rcpss rcr rdmsr rdpmc rdtsc
+syn keyword dAsmOpCode contained rep repe repne repnz repz
+syn keyword dAsmOpCode contained ret retf rol ror rsm
+syn keyword dAsmOpCode contained rsqrtps rsqrtss sahf sal sar
+syn keyword dAsmOpCode contained sbb scas scasb scasd scasw
+syn keyword dAsmOpCode contained seta setae setb setbe setc
+syn keyword dAsmOpCode contained sete setg setge setl setle
+syn keyword dAsmOpCode contained setna setnae setnb setnbe setnc
+syn keyword dAsmOpCode contained setne setng setnge setnl setnle
+syn keyword dAsmOpCode contained setno setnp setns setnz seto
+syn keyword dAsmOpCode contained setp setpe setpo sets setz
+syn keyword dAsmOpCode contained sfence sgdt shl shld shr
+syn keyword dAsmOpCode contained shrd shufpd shufps sidt sldt
+syn keyword dAsmOpCode contained smsw sqrtpd sqrtps sqrtsd sqrtss
+syn keyword dAsmOpCode contained stc std sti stmxcsr stos
+syn keyword dAsmOpCode contained stosb stosd stosw str sub
+syn keyword dAsmOpCode contained subpd subps subsd subss sysenter
+syn keyword dAsmOpCode contained sysexit test ucomisd ucomiss ud2
+syn keyword dAsmOpCode contained unpckhpd unpckhps unpcklpd unpcklps verr
+syn keyword dAsmOpCode contained verw wait wbinvd wrmsr xadd
+syn keyword dAsmOpCode contained xchg xlat xlatb xor xorpd
+syn keyword dAsmOpCode contained xorps
+syn keyword dAsmOpCode contained addsubpd addsubps fisttp haddpd haddps
+syn keyword dAsmOpCode contained hsubpd hsubps lddqu monitor movddup
+syn keyword dAsmOpCode contained movshdup movsldup mwait
+syn keyword dAsmOpCode contained pavgusb pf2id pfacc pfadd pfcmpeq
+syn keyword dAsmOpCode contained pfcmpge pfcmpgt pfmax pfmin pfmul
+syn keyword dAsmOpCode contained pfnacc pfpnacc pfrcp pfrcpit1 pfrcpit2
+syn keyword dAsmOpCode contained pfrsqit1 pfrsqrt pfsub pfsubr pi2fd
+syn keyword dAsmOpCode contained pmulhrw pswapd
+
diff --git a/runtime/syntax/yaml.vim b/runtime/syntax/yaml.vim
index 1ff4fffc..ba8906df 100644
--- a/runtime/syntax/yaml.vim
+++ b/runtime/syntax/yaml.vim
@@ -1,86 +1,186 @@
" Vim syntax file
-" Language: YAML (YAML Ain't Markup Language)
-" Maintainer: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2010-08-12
+" Language: YAML (YAML Ain't Markup Language) 1.2
+" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
+" First author: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2010-09-16
-if exists("b:current_syntax")
- finish
+if exists('b:current_syntax')
+ finish
endif
let s:cpo_save = &cpo
set cpo&vim
+let s:ns_char = '\%(\%([\n\r\uFEFF \t]\)\@!\p\)'
+let s:ns_word_char = '\%(\w\|-\)'
+let s:ns_uri_char = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$,.!~*''()\[\]]\)'
+let s:ns_tag_char = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$.~*''()]\)'
+let s:c_ns_anchor_char = '\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)'
+let s:c_indicator = '[\-?:,\[\]{}#&*!|>''"%@`]'
+let s:c_flow_indicator = '[,\[\]{}]'
+
+let s:c_verbatim_tag = '!<'.s:ns_uri_char.'\+>'
+let s:c_named_tag_handle = '!'.s:ns_word_char.'\+!'
+let s:c_secondary_tag_handle = '!!'
+let s:c_primary_tag_handle = '!'
+let s:c_tag_handle = '\%('.s:c_named_tag_handle.
+ \ '\|'.s:c_secondary_tag_handle.
+ \ '\|'.s:c_primary_tag_handle.'\)'
+let s:c_ns_shorthand_tag = s:c_tag_handle . s:ns_tag_char.'\+'
+let s:c_non_specific_tag = '!'
+let s:c_ns_tag_property = s:c_verbatim_tag.
+ \ '\|'.s:c_ns_shorthand_tag.
+ \ '\|'.s:c_non_specific_tag
+
+let s:c_ns_anchor_name = s:c_ns_anchor_char.'\+'
+let s:c_ns_anchor_property = '&'.s:c_ns_anchor_name
+let s:c_ns_alias_node = '\*'.s:c_ns_anchor_name
+
+let s:ns_directive_name = s:ns_char.'\+'
+
+let s:ns_local_tag_prefix = '!'.s:ns_uri_char.'*'
+let s:ns_global_tag_prefix = s:ns_tag_char.s:ns_uri_char.'*'
+let s:ns_tag_prefix = s:ns_local_tag_prefix.
+ \ '\|'.s:ns_global_tag_prefix
+
+let s:ns_plain_safe_out = s:ns_char
+let s:ns_plain_safe_in = '\%('.s:c_flow_indicator.'\@!'.s:ns_char.'\)'
+
+let s:ns_plain_first_in = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_in.'\)\@=\)'
+let s:ns_plain_first_out = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_out.'\)\@=\)'
+
+let s:ns_plain_char_in = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_in.'\|[:#]\@!'.s:ns_plain_safe_in.'\)'
+let s:ns_plain_char_out = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_out.'\|[:#]\@!'.s:ns_plain_safe_out.'\)'
+
+let s:ns_plain_out = s:ns_plain_first_out . s:ns_plain_char_out.'*'
+let s:ns_plain_in = s:ns_plain_first_in . s:ns_plain_char_in.'*'
+
+
syn keyword yamlTodo contained TODO FIXME XXX NOTE
-syn region yamlComment display oneline start='\%(^\|\s\)#' end='$'
- \ contains=yamlTodo,@Spell
-
-syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)'
-
-syn match yamlAnchor '&.\+'
-
-syn match yamlAlias '\*.\+'
-
-syn match yamlDelimiter '[-,:]'
-syn match yamlBlock '[\[\]{}>|]'
-syn match yamlOperator '[?+-]'
-syn match yamlKey '\w\+\(\s\+\w\+\)*\ze\s*:'
-
-syn region yamlString matchgroup=yamlStringDelimiter
- \ start=+"+ skip=+\\"+ end=+"+
- \ contains=yamlEscape
-syn region yamlString matchgroup=yamlStringDelimiter
- \ start=+'+ skip=+''+ end=+'+
- \ contains=yamlSingleEscape
-syn match yamlEscape contained display +\\[\\"abefnrtv^0_ NLP]+
-syn match yamlEscape contained display '\\x\x\{2}'
-syn match yamlEscape contained display '\\u\x\{4}'
-syn match yamlEscape contained display '\\U\x\{8}'
-" TODO: how do we get 0x85, 0x2028, and 0x2029 into this?
-syn match yamlEscape display '\\\%(\r\n\|[\r\n]\)'
-syn match yamlSingleEscape contained +''+
-
-" TODO: sexagecimal and fixed (20:30.15 and 1,230.15)
-syn match yamlNumber display
- \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\='
-syn match yamlNumber display '0\o\+'
-syn match yamlNumber display '0x\x\+'
-syn match yamlNumber display '([+-]\=[iI]nf)'
-syn match yamlNumber display '(NaN)'
-
-syn match yamlConstant '\<[~yn]\>'
-syn keyword yamlConstant true True TRUE false False FALSE
-syn keyword yamlConstant yes Yes on ON no No off OFF
-syn keyword yamlConstant null Null NULL nil Nil NIL
-
-syn match yamlTimestamp '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\='
-
-syn region yamlDocumentHeader start='---' end='$' contains=yamlDirective
-syn match yamlDocumentEnd '\.\.\.'
-
-syn match yamlDirective contained '%[^:]\+:.\+'
-
-hi def link yamlTodo Todo
-hi def link yamlComment Comment
-hi def link yamlDocumentHeader PreProc
-hi def link yamlDocumentEnd PreProc
-hi def link yamlDirective Keyword
-hi def link yamlNodeProperty Type
-hi def link yamlAnchor Type
-hi def link yamlAlias Type
-hi def link yamlDelimiter Delimiter
-hi def link yamlBlock Operator
-hi def link yamlOperator Operator
-hi def link yamlKey Identifier
-hi def link yamlString String
-hi def link yamlStringDelimiter yamlString
-hi def link yamlEscape SpecialChar
-hi def link yamlSingleEscape SpecialChar
-hi def link yamlNumber Number
-hi def link yamlConstant Constant
-hi def link yamlTimestamp Number
+syn region yamlComment display oneline start='\%\(^\|\s\)#' end='$'
+ \ contains=yamlTodo
+
+execute 'syn region yamlDirective oneline start='.string('^\ze%'.s:ns_directive_name.'\s\+').' '.
+ \ 'end="$" '.
+ \ 'contains=yamlTAGDirective,'.
+ \ 'yamlYAMLDirective,'.
+ \ 'yamlReservedDirective '.
+ \ 'keepend'
+
+syn match yamlTAGDirective '%TAG\s\+' contained nextgroup=yamlTagHandle
+execute 'syn match yamlTagHandle contained nextgroup=yamlTagPrefix '.string(s:c_tag_handle.'\s\+')
+execute 'syn match yamlTagPrefix contained nextgroup=yamlComment ' . string(s:ns_tag_prefix)
+
+syn match yamlYAMLDirective '%YAML\s\+' contained nextgroup=yamlYAMLVersion
+syn match yamlYAMLVersion '\d\+\.\d\+' contained nextgroup=yamlComment
+
+execute 'syn match yamlReservedDirective contained nextgroup=yamlComment '.
+ \string('%\%(\%(TAG\|YAML\)\s\)\@!'.s:ns_directive_name)
+
+syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start='"' skip='\\"' end='"'
+ \ contains=yamlEscape
+ \ nextgroup=yamlKeyValueDelimiter
+syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start="'" skip="''" end="'"
+ \ contains=yamlSingleEscape
+ \ nextgroup=yamlKeyValueDelimiter
+syn match yamlEscape contained '\\\%([\\"abefnrtv\^0_ NLP\n]\|x\x\x\|u\x\{4}\|U\x\{8}\)'
+syn match yamlSingleEscape contained "''"
+
+syn match yamlBlockScalarHeader contained '\s\+\zs[|>]\%([+-]\=[1-9]\|[1-9]\=[+-]\)\='
+
+syn cluster yamlFlow contains=yamlFlowString,yamlFlowMapping,yamlFlowCollection
+syn cluster yamlFlow add=yamlFlowMappingKey,yamlFlowMappingMerge
+syn cluster yamlFlow add=yamlConstant,yamlPlainScalar,yamlFloat
+syn cluster yamlFlow add=yamlTimestamp,yamlInteger,yamlMappingKeyStart
+syn cluster yamlFlow add=yamlComment
+syn region yamlFlowMapping matchgroup=yamlFlowIndicator start='{' end='}' contains=@yamlFlow
+syn region yamlFlowCollection matchgroup=yamlFlowIndicator start='\[' end='\]' contains=@yamlFlow
+
+execute 'syn match yamlPlainScalar /'.s:ns_plain_out.'/'
+execute 'syn match yamlPlainScalar contained /'.s:ns_plain_in.'/'
+
+syn match yamlMappingKeyStart '?\ze\s'
+syn match yamlMappingKeyStart '?' contained
+
+execute 'syn match yamlFlowMappingKey /'.s:ns_plain_in.'\ze\s*:/ contained '.
+ \'nextgroup=yamlKeyValueDelimiter'
+syn match yamlFlowMappingMerge /<<\ze\s*:/ contained nextgroup=yamlKeyValueDelimiter
+
+syn match yamlBlockCollectionItemStart '^\s*\zs-\%(\s\+-\)*\s' nextgroup=yamlBlockMappingKey,yamlBlockMappingMerge
+execute 'syn match yamlBlockMappingKey /^\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ '.
+ \'nextgroup=yamlKeyValueDelimiter'
+execute 'syn match yamlBlockMappingKey /\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ contained '.
+ \'nextgroup=yamlKeyValueDelimiter'
+syn match yamlBlockMappingMerge /^\s*\zs<<\ze:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter
+syn match yamlBlockMappingMerge /<<\ze\s*:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter contained
+
+syn match yamlKeyValueDelimiter /\s*:/ contained
+syn match yamlKeyValueDelimiter /\s*:/ contained
+
+syn keyword yamlConstant true True TRUE false False FALSE
+syn keyword yamlConstant null Null NULL
+syn match yamlConstant '\<\~\>'
+
+syn match yamlTimestamp /\%([\[\]{}, \t]\@!\p\)\@<!\%(\d\{4}-\d\d\=-\d\d\=\%(\%([Tt]\|\s\+\)\%(\d\d\=\):\%(\d\d\):\%(\d\d\)\%(\.\%(\d*\)\)\=\%(\s*\%(Z\|[+-]\d\d\=\%(:\d\d\)\=\)\)\=\)\=\)\%([\[\]{}, \t]\@!\p\)\@!/
+
+syn match yamlInteger /\%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(0\%(b[0-1_]\+\|[0-7_]\+\|x[0-9a-fA-F_]\+\)\=\|\%([1-9][0-9_]*\%(:[0-5]\=\d\)\+\)\)\)\%([\[\]{}, \t]\@!\p\)\@!/
+syn match yamlFloat /\%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(\%(\d[0-9_]*\)\.[0-9_]*\%([eE][+-]\d\+\)\=\|\.[0-9_]\+\%([eE][-+][0-9]\+\)\=\|\d[0-9_]*\%(:[0-5]\=\d\)\+\.[0-9_]*\|\.\%(inf\|Inf\|INF\)\)\|\%(\.\%(nan\|NaN\|NAN\)\)\)\%([\[\]{}, \t]\@!\p\)\@!/
+
+execute 'syn match yamlNodeTag '.string(s:c_ns_tag_property)
+execute 'syn match yamlAnchor '.string(s:c_ns_anchor_property)
+execute 'syn match yamlAlias '.string(s:c_ns_alias_node)
+
+syn match yamlDocumentStart '^---\ze\%(\s\|$\)'
+syn match yamlDocumentEnd '^\.\.\.\ze\%(\s\|$\)'
+
+hi def link yamlTodo Todo
+hi def link yamlComment Comment
+
+hi def link yamlDocumentStart PreProc
+hi def link yamlDocumentEnd PreProc
+
+hi def link yamlDirectiveName Keyword
+
+hi def link yamlTAGDirective yamlDirectiveName
+hi def link yamlTagHandle String
+hi def link yamlTagPrefix String
+
+hi def link yamlYAMLDirective yamlDirectiveName
+hi def link yamlReservedDirective Error
+hi def link yamlYAMLVersion Number
+
+hi def link yamlString String
+hi def link yamlFlowString yamlString
+hi def link yamlFlowStringDelimiter yamlString
+hi def link yamlEscape SpecialChar
+hi def link yamlSingleEscape SpecialChar
+
+hi def link yamlBlockCollectionItemStart Label
+hi def link yamlBlockMappingKey Identifier
+hi def link yamlBlockMappingMerge Special
+
+hi def link yamlFlowMappingKey Identifier
+hi def link yamlFlowMappingMerge Special
+
+hi def link yamlMappingKeyStart Special
+hi def link yamlFlowIndicator Special
+hi def link yamlKeyValueDelimiter Special
+
+hi def link yamlConstant Constant
+
+hi def link yamlAnchor Type
+hi def link yamlAlias Type
+hi def link yamlNodeTag Type
+
+hi def link yamlInteger Number
+hi def link yamlFloat Float
+hi def link yamlTimestamp Number
let b:current_syntax = "yaml"
+unlet s:ns_word_char s:ns_uri_char s:c_verbatim_tag s:c_named_tag_handle s:c_secondary_tag_handle s:c_primary_tag_handle s:c_tag_handle s:ns_tag_char s:c_ns_shorthand_tag s:c_non_specific_tag s:c_ns_tag_property s:c_ns_anchor_char s:c_ns_anchor_name s:c_ns_anchor_property s:c_ns_alias_node s:ns_char s:ns_directive_name s:ns_local_tag_prefix s:ns_global_tag_prefix s:ns_tag_prefix s:c_indicator s:ns_plain_safe_out s:c_flow_indicator s:ns_plain_safe_in s:ns_plain_first_in s:ns_plain_first_out s:ns_plain_char_in s:ns_plain_char_out s:ns_plain_out s:ns_plain_in
+
let &cpo = s:cpo_save
unlet s:cpo_save
+