summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2015-08-11 20:34:49 +0200
committerBram Moolenaar <Bram@vim.org>2015-08-11 20:34:49 +0200
commitfc39ecf8ded5466d7e9cbde8db75517718b023d8 (patch)
tree1c2c095ba1c61e9f6241fa999f09f92c79f71968 /runtime
parent25c2f6783a9d5f15e062bd5b085abe7deb121152 (diff)
downloadvim-git-fc39ecf8ded5466d7e9cbde8db75517718b023d8.tar.gz
Update runtime files.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/autocmd.txt4
-rw-r--r--runtime/doc/change.txt8
-rw-r--r--runtime/doc/cmdline.txt17
-rw-r--r--runtime/doc/editing.txt33
-rw-r--r--runtime/doc/eval.txt1
-rw-r--r--runtime/doc/tags2
-rw-r--r--runtime/doc/todo.txt48
-rw-r--r--runtime/filetype.vim8
-rw-r--r--runtime/indent/sh.vim19
-rw-r--r--runtime/macros/matchit.vim2
-rw-r--r--runtime/makemenu.vim1
-rw-r--r--runtime/synmenu.vim1
-rw-r--r--runtime/syntax/datascript.vim14
-rw-r--r--runtime/syntax/synload.vim4
14 files changed, 104 insertions, 58 deletions
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index c52a7f55f..43f7f40d9 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 7.4. Last change: 2015 Jul 20
+*autocmd.txt* For Vim version 7.4. Last change: 2015 Aug 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1072,7 +1072,7 @@ Instead of a pattern buffer-local autocommands use one of these forms:
Examples: >
:au CursorHold <buffer> echo 'hold'
:au CursorHold <buffer=33> echo 'hold'
- :au CursorHold <buffer=abuf> echo 'hold'
+ :au BufNewFile * CursorHold <buffer=abuf> echo 'hold'
All the commands for autocommands also work with buffer-local autocommands,
simply use the special string instead of the pattern. Examples: >
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 79aa179c9..a7c8a277d 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 7.4. Last change: 2015 Jun 25
+*change.txt* For Vim version 7.4. Last change: 2015 Aug 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -634,9 +634,9 @@ For other systems the tmpnam() library function is used.
may add [flags], see |:s_flags|.
Note that after `:substitute` the '&' flag can't be
used, it's recognized as a pattern separator.
- The space between `:substitute` and the 'c', 'g' and
- 'r' flags isn't required, but in scripts it's a good
- idea to keep it to avoid confusion.
+ The space between `:substitute` and the 'c', 'g',
+ 'i', 'I' and 'r' flags isn't required, but in scripts
+ it's a good idea to keep it to avoid confusion.
:[range]~[&][flags] [count] *:~*
Repeat last substitute with same substitute string
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 27d9e42c0..94fe977cc 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt* For Vim version 7.4. Last change: 2015 Jul 21
+*cmdline.txt* For Vim version 7.4. Last change: 2015 Jul 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -750,13 +750,13 @@ to insert special things while typing you can use the CTRL-R command. For
example, "%" stands for the current file name, while CTRL-R % inserts the
current file name right away. See |c_CTRL-R|.
-Note: If you want to avoid the special characters in a Vim script you may want
-to use |fnameescape()|. Also see |`=|.
+Note: If you want to avoid the effects of special characters in a Vim script
+you may want to use |fnameescape()|. Also see |`=|.
In Ex commands, at places where a file name can be used, the following
characters have a special meaning. These can also be used in the expression
-function expand() |expand()|.
+function |expand()|.
% Is replaced with the current file name. *:_%* *c_%*
# Is replaced with the alternate file name. *:_#* *c_#*
This is remembered for every window.
@@ -792,6 +792,7 @@ it, no matter how many backslashes.
\# #
\\# \#
Also see |`=|.
+
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
@@ -812,7 +813,7 @@ Note: these are typed literally, they are not special keys!
<afile> only when the file name isn't used to match with
(for FileType, Syntax and SpellFileMissing events).
<sfile> When executing a ":source" command, is replaced with the
- file name of the sourced file. *E498*
+ file name of the sourced file. *E498*
When executing a function, is replaced with
"function {function-name}"; function call nesting is
indicated like this:
@@ -881,7 +882,7 @@ These modifiers can be given, in this order:
:gs?pat?sub?
Substitute all occurrences of "pat" with "sub". Otherwise
this works like ":s".
- :S Escape special characters for use with a shell command (see
+ :S Escape special characters for use with a shell command (see
|shellescape()|). Must be the last one. Examples: >
:!dir <cfile>:S
:call system('chmod +w -- ' . expand('%:S'))
@@ -934,9 +935,8 @@ name). This is included for backwards compatibility with version 3.0, the
Note: Where a file name is expected wildcards expansion is done. On Unix the
shell is used for this, unless it can be done internally (for speed).
-Backticks also work, like in >
+Unless in |restricted-mode|, backticks work also, like in >
:n `echo *.c`
-(backtick expansion is not possible in |restricted-mode|)
But expansion is only done if there are any wildcards before expanding the
'%', '#', etc.. This avoids expanding wildcards inside a file name. If you
want to expand the result of <cfile>, add a wildcard character to it.
@@ -973,6 +973,7 @@ for the file "$home" in the root directory. A few examples:
\$home file "$home" in current directory
/\$home file "$home" in root directory
\\$home file "\\", followed by expanded $home
+
Also see |`=|.
==============================================================================
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 1ac7f64be..1be6a6d76 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt* For Vim version 7.4. Last change: 2015 Jul 21
+*editing.txt* For Vim version 7.4. Last change: 2015 Jul 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -412,22 +412,34 @@ Finds files:
/usr/include/sys/types.h
/usr/inc_old/types.h
*backtick-expansion* *`-expansion*
-On Unix and a few other systems you can also use backticks in the file name,
-for example: >
- :e `find . -name ver\\*.c -print`
-The backslashes before the star are required to prevent "ver*.c" to be
-expanded by the shell before executing the find program.
+On Unix and a few other systems you can also use backticks for the file name
+argument, for example: >
+ :next `find . -name ver\\*.c -print`
+The backslashes before the star are required to prevent the shell from
+expanding "ver*.c" prior to execution of the find program. The backslash
+before the shell pipe symbol "|" prevents Vim from parsing it as command
+termination.
This also works for most other systems, with the restriction that the
backticks must be around the whole item. It is not possible to have text
directly before the first or just after the last backtick.
*`=*
-You can have the backticks expanded as a Vim expression, instead of an
-external command, by using the syntax `={expr}` e.g.: >
+You can have the backticks expanded as a Vim expression, instead of as an
+external command, by putting an equal sign right after the first backtick,
+e.g.: >
:e `=tempname()`
The expression can contain just about anything, thus this can also be used to
avoid the special meaning of '"', '|', '%' and '#'. However, 'wildignore'
does apply like to other wildcards.
+
+Environment variables are expanded before evaluating the expression, thus this
+does not work: >
+ :e `=$HOME . '.vimrc'`
+Because $HOME is expanding early, resulting in: >
+ :e `=/home/user . '.vimrc'`
+This does work: >
+ :e `=expand('$HOME') . '.vimrc'`
+
If the expression returns a string then names are to be separated with line
breaks. When the result is a |List| then each item is used as a name. Line
breaks also separate names.
@@ -1365,7 +1377,7 @@ There are a few things to remember when editing binary files:
- <Nul> characters are shown on the screen as ^@. You can enter them with
"CTRL-V CTRL-@" or "CTRL-V 000" {Vi cannot handle <Nul> characters in the
file}
-- To insert a <NL> character in the file split up a line. When writing the
+- To insert a <NL> character in the file split a line. When writing the
buffer to a file a <NL> will be written for the <EOL>.
- Vim normally appends an <EOL> at the end of the file if there is none.
Setting the 'binary' option prevents this. If you want to add the final
@@ -1395,7 +1407,8 @@ reveal it to others. The 'viminfo' file is not encrypted.
You could do this to edit very secret text: >
:set noundofile viminfo=
:noswapfile edit secrets.txt
-Keep in mind that without a swap file you risk losing your work in a crash.
+Keep in mind that without a swap file you risk loosing your work in the event
+of a crash or a power failure.
WARNING: If you make a typo when entering the key and then write the file and
exit, the text will be lost!
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 85149b581..893624ac5 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1822,6 +1822,7 @@ getbufvar( {expr}, {varname} [, {def}])
any variable {varname} in buffer {expr}
getchar( [expr]) Number get one character from the user
getcharmod( ) Number modifiers for the last typed character
+getcharsearch() Dict last character search
getcmdline() String return the current command-line
getcmdpos() Number return cursor position in command-line
getcmdtype() String return current command-line type
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 83a73d6f2..6969354be 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6183,6 +6183,7 @@ getbufline() eval.txt /*getbufline()*
getbufvar() eval.txt /*getbufvar()*
getchar() eval.txt /*getchar()*
getcharmod() eval.txt /*getcharmod()*
+getcharsearch() eval.txt /*getcharsearch()*
getcmdline() eval.txt /*getcmdline()*
getcmdpos() eval.txt /*getcmdpos()*
getcmdtype() eval.txt /*getcmdtype()*
@@ -7793,6 +7794,7 @@ session-file starting.txt /*session-file*
set-option options.txt /*set-option*
set-spc-auto spell.txt /*set-spc-auto*
setbufvar() eval.txt /*setbufvar()*
+setcharsearch() eval.txt /*setcharsearch()*
setcmdpos() eval.txt /*setcmdpos()*
setline() eval.txt /*setline()*
setloclist() eval.txt /*setloclist()*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 42f2e582b..66e935160 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.4. Last change: 2015 Jul 21
+*todo.txt* For Vim version 7.4. Last change: 2015 Aug 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -73,29 +73,23 @@ Regexp problems:
Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
More info Jul 24. Not clear why.
-RXVT sends a different background color response. (Higashi, 2015 Jul 5)
-
-More tests for :diffoff. Olaf Dabrunz, (2015 Jul 4)
-
Problem that a previous silent ":throw" causes a following try/catch not to
work. (ZyX, 2013 Sep 28)
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
-Regression for v_b_A. (Ingo Karkat, 2015 May 18)
-
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
directory exists. (Sergio Gallelli, 2013 Dec 29)
-Invalid memory access in regexp.c. (Dominique Pelle, 2015 May 23)
-
Using ":windo" to set options in all windows has the side effect that it
changes the window layout and the current window. Make a variant that saves
and restores. Use in the matchparen plugin.
Perhaps we can use ":silent window"?
-C indent: should recognize C11 raw strings. (Mark Lodato, 2015 Mar 1)
-Need to recognize R"string" for 'cindent'.
+Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
+
+Patch for better documentaiton of cmdline expansion. (Pavol Juhas, 2015 Jul
+24)
Crash when changing the 'tags' option from a remote command.
(Benjamin Fritz, 2015 Mar 18, stack trace Mar 20)
@@ -107,6 +101,9 @@ Same for src/xxd/Make_cyg.mak
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
+Patch to add CTRL-g U to not break undo for the following cursor movement
+command. (Christian Brabandt, 2015 Aug 4)
+
MS-Windows: When editing a file with a leading space, writing it uses the
wrong name. (Aram, 2014 Nov 7) Vim 7.4.
@@ -130,25 +127,46 @@ Goes away when disabling the swap file. (might1, Feb 16)
MS-Windows: Crash opening very long file name starting with "\\".
(Christian Brock, 2012 Jun 29)
+Patch to improve IME handling in the MS-Windows console.
+(Ken Takata, 2015 Aug 8)
+
+Patch to support Unicode I/O in the MS-Windows console.
+(Ken Takata, 2015 Aug 8) Also by Yasuhiro Matsumoto.
+
The argument for "-S" is not taken literally, the ":so" command expands
wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4)
+Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
+
Build with Python on Mac does not always use the right library.
(Kazunobu Kuriyama, 2015 Mar 28)
ml_updatechunk() is slow when retrying for another encoding. (John Little,
2014 Sep 11)
+Patch to fix that "zt" in diff mode doesn't always work properly.
+(Christian Brabandt, 2015 Aug 6) Doesn't fix the problem?
+
+Patch to fix checking global option value when not using it.
+(Arnaud Decara, 2015 Jul 23)
+
When 'showbreak' is set repeating a Visual operation counts the size of the
'showbreak' text as part of the operation. (Axel Bender, 2015 Jul 20)
+Patch to apply 'fileformats' when starting Vim. (Mike Williams, 2015 Jul 22)
+
+Patch for matchit plugin related to multibyte chars. (Ken Takata, 2015 Jul 22)
+
Patch for multi-byte characters in langmap and applying a mapping on them.
-(Christian Brabandt, 2015 Jun 12)
+(Christian Brabandt, 2015 Jun 12, update July 25)
Is this the right solution?
Patch to add grepfile(). (Scott Prager, 2015 May 26)
Work in progress.
+Patch for global-local options consistency. (Arnaud Decara, 2015 Jul 22)
+Is this right?
+
Patch to make getregtype() return the right size for non-linux systems.
(Yasuhiro Matsumoto, 2014 Jul 8)
Breaks test_eval. Inefficient, can we only compute y_width when needed?
@@ -162,6 +180,8 @@ Patch to fix that wide characters do not work properly after exiting.
Patch for man.vim. (SungHyun Nam, 2015 May 20)
Doesn't work completely (Dominique Orban)
+Patch to add a "literal" argument to bufnr(). (Olaf Dabrunz, 2015 Aug 4)
+
When a session file is created and there are "nofile" buffers, these are not
filled. Need to trigger BufReadCmd autocommands. Also handle deleting the
initial empty buffer better. (ZyX, 2015 March 8)
@@ -608,7 +628,7 @@ after starting up?
Patch to add ":ldo" and ":cdo", execute commands over quickfix list and
location list. (Yegappan Lakshmanan, 2013 Jun 2, update 2015 Mar 21)
Update by Florian Walch, 2015 Jul 1.
-Yegappan will send an update in July.
+Update by Yegappan, 2015 Jul 24.
8 "stl" and "stlnc" in 'fillchars' don't work for multi-byte characters.
Patch by Christian Wellenbrock, 2013 Jul 5.
@@ -794,7 +814,7 @@ effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
Would also need to do this for spellbadword() and spellsuggest().
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
-Update Aug 16 (email).
+Update 2015 Jul 25 (email).
On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
64 bits value. Change all number options to use nropt_T and define it to the
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 4d8b7d8eb..6bdedfdc9 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2015 Jun 06
+" Last Change: 2015 Aug 11
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -1168,7 +1168,7 @@ func! s:FTm()
let n = 1
while n < 10
let line = getline(n)
- if line =~ '^\s*\(#\s*\(include\|import\)\>\|/\*\|//\)'
+ if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\|//\)'
setf objc
return
endif
@@ -1336,7 +1336,7 @@ func! s:FTmm()
let n = 1
while n < 10
let line = getline(n)
- if line =~ '^\s*\(#\s*\(include\|import\)\>\|/\*\)'
+ if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
setf objcpp
return
endif
@@ -1858,7 +1858,7 @@ au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
" Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc.
" Gentoo ebuilds are actually bash scripts
-au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash_profile*,.bash_logout*,.bash_aliases*,*.bash,*.ebuild call SetFileTypeSH("bash")
+au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass call SetFileTypeSH("bash")
au BufNewFile,BufRead .kshrc*,*.ksh call SetFileTypeSH("ksh")
au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call SetFileTypeSH(getline(1))
diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim
index 29a25a210..b2f35b23a 100644
--- a/runtime/indent/sh.vim
+++ b/runtime/indent/sh.vim
@@ -1,10 +1,11 @@
" Vim indent file
-" Language: Shell Script
-" Maintainer: Currently unmaintained. If you want to take it, please
-" email Bram
+" Language: Shell Script
+" Maintainer: Christian Brabandt <cb@256bit.org>
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
-" Original Author: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2014-08-22
+" Original Author: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2015-07-28
+" License: Vim (see :h license)
+" Repository: https://github.com/chrisbra/vim-sh-indent
if exists("b:did_indent")
finish
@@ -12,7 +13,7 @@ endif
let b:did_indent = 1
setlocal indentexpr=GetShIndent()
-setlocal indentkeys+=0=then,0=do,0=else,0=elif,0=fi,0=esac,0=done,),0=;;,0=;&
+setlocal indentkeys+=0=then,0=do,0=else,0=elif,0=fi,0=esac,0=done,0=end,),0=;;,0=;&
setlocal indentkeys+=0=fin,0=fil,0=fip,0=fir,0=fix
setlocal indentkeys-=:,0#
setlocal nosmartindent
@@ -56,8 +57,8 @@ function! GetShIndent()
let ind = indent(lnum)
let line = getline(lnum)
- if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\)\>'
- if line !~ '\<\%(fi\|esac\|done\)\>\s*\%(#.*\)\=$'
+ if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>'
+ if line !~ '\<\%(fi\|esac\|done\|end\)\>\s*\%(#.*\)\=$'
let ind += s:indent_value('default')
endif
elseif s:is_case_label(line, pnum)
@@ -78,7 +79,7 @@ function! GetShIndent()
let pine = line
let line = getline(v:lnum)
- if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\)\>' || line =~ '^\s*}'
+ if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\|end\)\>' || line =~ '^\s*}'
let ind -= s:indent_value('default')
elseif line =~ '^\s*esac\>' && s:is_case_empty(getline(v:lnum - 1))
let ind -= s:indent_value('default')
diff --git a/runtime/macros/matchit.vim b/runtime/macros/matchit.vim
index 74c1a1eb9..70867b1f9 100644
--- a/runtime/macros/matchit.vim
+++ b/runtime/macros/matchit.vim
@@ -303,7 +303,7 @@ fun! s:CleanUp(options, mode, startline, startcol, ...)
let regexp = s:Wholematch(matchline, a:1, currcol-1)
let endcol = matchend(matchline, regexp)
if endcol > currcol " This is NOT off by one!
- execute "normal!" . (endcol - currcol) . "l"
+ call cursor(0, endcol)
endif
endif " a:0
endif " a:mode != "o" && etc.
diff --git a/runtime/makemenu.vim b/runtime/makemenu.vim
index b78fdfd60..839dbdac0 100644
--- a/runtime/makemenu.vim
+++ b/runtime/makemenu.vim
@@ -177,6 +177,7 @@ SynMenu DE.Doxygen.C\ with\ doxygen:c.doxygen
SynMenu DE.Doxygen.C++\ with\ doxygen:cpp.doxygen
SynMenu DE.Doxygen.IDL\ with\ doxygen:idl.doxygen
SynMenu DE.Doxygen.Java\ with\ doxygen:java.doxygen
+SynMenu DE.Doxygen.DataScript\ with\ doxygen:datascript.doxygen
SynMenu DE.Dracula:dracula
SynMenu DE.DSSSL:dsl
SynMenu DE.DTD:dtd
diff --git a/runtime/synmenu.vim b/runtime/synmenu.vim
index 2db72a2b6..76f60131f 100644
--- a/runtime/synmenu.vim
+++ b/runtime/synmenu.vim
@@ -161,6 +161,7 @@ an 50.30.290 &Syntax.DE.Doxygen.C\ with\ doxygen :cal SetSyn("c.doxygen")<CR>
an 50.30.300 &Syntax.DE.Doxygen.C++\ with\ doxygen :cal SetSyn("cpp.doxygen")<CR>
an 50.30.310 &Syntax.DE.Doxygen.IDL\ with\ doxygen :cal SetSyn("idl.doxygen")<CR>
an 50.30.320 &Syntax.DE.Doxygen.Java\ with\ doxygen :cal SetSyn("java.doxygen")<CR>
+an 50.30.320 &Syntax.DE.Doxygen.DataScript\ with\ doxygen :cal SetSyn("datascript.doxygen")<CR>
an 50.30.330 &Syntax.DE.Dracula :cal SetSyn("dracula")<CR>
an 50.30.340 &Syntax.DE.DSSSL :cal SetSyn("dsl")<CR>
an 50.30.350 &Syntax.DE.DTD :cal SetSyn("dtd")<CR>
diff --git a/runtime/syntax/datascript.vim b/runtime/syntax/datascript.vim
index 2b4ec513b..a983b8e34 100644
--- a/runtime/syntax/datascript.vim
+++ b/runtime/syntax/datascript.vim
@@ -1,11 +1,12 @@
" Vim syntax file
-" Language: Datascript
+" Language: DataScript
" Maintainer: Dominique Pelle <dominique.pelle@gmail.com>
-" Last Change: 2014 Feb 26
+" Last Change: 2015 Jul 30
"
" DataScript is a formal language for modelling binary datatypes,
" bitstreams or file formats. For more information, see:
-" http://datascript.berlios.de/DataScriptLanguageOverview.html
+"
+" http://dstools.sourceforge.net/DataScriptLanguageOverview.html
if version < 600
syntax clear
@@ -19,6 +20,8 @@ syn keyword dsPackage import package
syn keyword dsType bit bool string
syn keyword dsType int int8 int16 int32 int64
syn keyword dsType uint8 uint16 uint32 uint64
+syn keyword dsType varint16 varint32 varint64
+syn keyword dsType varuint16 varuint32 varuint64
syn keyword dsType leint16 leint32 leint64
syn keyword dsType leuint16 leuint32 leuint64
syn keyword dsEndian little big
@@ -32,7 +35,8 @@ syn keyword dsOperator sizeof bitsizeof lengthof is sum forall in
syn keyword dsStorageClass const
syn keyword dsTodo contained TODO FIXME XXX
syn keyword dsSql sql sql_table sql_database sql_pragma sql_index
-syn keyword dsSql sql_integer sql_metadata sql_key foreign_key
+syn keyword dsSql sql_integer sql_metadata sql_key sql_virtual
+syn keyword dsSql using reference_key foreign_key to
" dsCommentGroup allows adding matches for special things in comments.
syn cluster dsCommentGroup contains=dsTodo
@@ -61,6 +65,8 @@ syn region dsComment
syn region dsString
\ start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
+syn sync ccomment dsComment
+
" Define the default highlighting.
hi def link dsType Type
hi def link dsEndian StorageClass
diff --git a/runtime/syntax/synload.vim b/runtime/syntax/synload.vim
index 48b5956b3..6183f33a5 100644
--- a/runtime/syntax/synload.vim
+++ b/runtime/syntax/synload.vim
@@ -60,8 +60,8 @@ fun! s:SynSet()
endfun
-" Handle adding doxygen to other languages (C, C++, C#, IDL)
-au Syntax c,cpp,cs,idl,php
+" Handle adding doxygen to other languages (C, C++, C#, IDL, java, php, DataScript)
+au Syntax c,cpp,cs,idl,java,php,datascript
\ if (exists('b:load_doxygen_syntax') && b:load_doxygen_syntax)
\ || (exists('g:load_doxygen_syntax') && g:load_doxygen_syntax)
\ | runtime! syntax/doxygen.vim