summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2011-03-22 14:05:35 +0100
committerBram Moolenaar <bram@vim.org>2011-03-22 14:05:35 +0100
commit879b8ba74932b965945d7431447bc09da9bde3e5 (patch)
tree090fb106122fba2727b1a6d9a0fe18795669878f /runtime
parent464338662a44fcec701a55c77ad5aa0c90a2d17a (diff)
downloadvim-879b8ba74932b965945d7431447bc09da9bde3e5.tar.gz
Updated runtime files.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/change.txt5
-rw-r--r--runtime/doc/editing.txt13
-rw-r--r--runtime/doc/eval.txt6
-rw-r--r--runtime/doc/indent.txt10
-rw-r--r--runtime/doc/pattern.txt5
-rw-r--r--runtime/doc/tags1
-rw-r--r--runtime/doc/todo.txt86
-rw-r--r--runtime/doc/usr_41.txt7
-rw-r--r--runtime/doc/various.txt8
-rw-r--r--runtime/filetype.vim27
-rw-r--r--runtime/ftplugin/treetop.vim19
-rw-r--r--runtime/indent/treetop.vim38
-rw-r--r--runtime/lang/menu_ko_kr.euckr.vim22
-rw-r--r--runtime/lang/menu_ko_kr.utf-8.vim22
-rw-r--r--runtime/syntax/r.vim111
-rw-r--r--runtime/syntax/rhelp.vim58
-rw-r--r--runtime/syntax/treetop.vim110
-rw-r--r--runtime/syntax/upstart.vim112
18 files changed, 558 insertions, 102 deletions
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 19528edc..fe518d15 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 7.3. Last change: 2010 Jul 29
+*change.txt* For Vim version 7.3. Last change: 2011 Feb 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -690,7 +690,8 @@ reason is that the flags can only be found by skipping the pattern, and in
order to skip the pattern the "magicness" must be known. Catch 22!
If the {pattern} for the substitute command is empty, the command uses the
-pattern from the last substitute or ":global" command. With the [r] flag, the
+pattern from the last substitute or ":global" command. If there is none, but
+there is a previous search pattern, that one is used. With the [r] flag, the
command uses the pattern from the last substitute, ":global", or search
command.
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 26f712f1..17a8ca38 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt* For Vim version 7.3. Last change: 2011 Jan 27
+*editing.txt* For Vim version 7.3. Last change: 2011 Feb 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -276,10 +276,11 @@ If you want to keep the changed buffer without saving it, switch on the
'readonly' option for this buffer. {not in Vi}
*CTRL-^* *CTRL-6*
-CTRL-^ Edit the alternate file (equivalent to ":e #").
- Mostly the alternate file is the previously edited
- file. This is a quick way to toggle between two
- files.
+CTRL-^ Edit the alternate file. Mostly the alternate file is
+ the previously edited file. This is a quick way to
+ toggle between two files. It is equivalent to ":e #",
+ except that it also works when there is no file name.
+
If the 'autowrite' or 'autowriteall' option is on and
the buffer was changed, write it.
Mostly the ^ character is positioned on the 6 key,
@@ -1387,6 +1388,8 @@ To set the default method, used for new files, use one of these in your
|vimrc| file: >
set cm=zip
set cm=blowfish
+The message given for reading and writing a file will show "[crypted]" when
+using zip, "[blowfish]" when using blowfish.
When writing an undo file, the same key and method will be used for the text
in the undo file. |persistent-undo|.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index c599e8a9..8c464a85 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.3. Last change: 2011 Feb 11
+*eval.txt* For Vim version 7.3. Last change: 2011 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -7072,7 +7072,9 @@ This would call the function "my_func_whizz(parameter)".
is terminated.
Example: >
:try | throw "oops" | catch /^oo/ | echo "caught" | endtry
-<
+< Note that "catch" may need to be on a separate line
+ for when an error causes the parsing to skip the whole
+ line and not see the "|" that separates the commands.
*:ec* *:echo*
:ec[ho] {expr1} .. Echoes each {expr1}, with a space in between. The
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index 617b776c..3e06aaac 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt* For Vim version 7.3. Last change: 2011 Jan 09
+*indent.txt* For Vim version 7.3. Last change: 2011 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -320,9 +320,11 @@ assume a 'shiftwidth' of 4.
BaseClass(3) BaseClass(3)
{} {}
<
- +N Indent a continuation line (a line that spills onto the next) N
- additional characters. (default 'shiftwidth').
- When the previous line ended in a backslash it's doubled.
+ +N Indent a continuation line (a line that spills onto the next)
+ inside a function N additional characters. (default
+ 'shiftwidth').
+ Outside of a function, when the previous line ended in a
+ backslash, the 2 * N is used.
cino= cino=+10 >
a = b + 9 * a = b + 9 *
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 12a9d6dd..0fd31d65 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 7.3. Last change: 2010 Jul 20
+*pattern.txt* For Vim version 7.3. Last change: 2011 Feb 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -214,7 +214,8 @@ The last used pattern and offset are remembered. They can be used to repeat
the search, possibly in another direction or with another count. Note that
two patterns are remembered: One for 'normal' search commands and one for the
substitute command ":s". Each time an empty pattern is given, the previously
-used pattern is used.
+used pattern is used. However, if there is no previous search command, a
+previous substitute pattern is used, if possible.
The 'magic' option sticks with the last used pattern. If you change 'magic',
this will not change how the last used pattern will be interpreted.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 836baad9..dcc11c8a 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3206,6 +3206,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
<reg> map.txt /*<reg>*
<register> map.txt /*<register>*
<sfile> cmdline.txt /*<sfile>*
+<slnum> cmdline.txt /*<slnum>*
<xCSI> intro.txt /*<xCSI>*
<xDown> term.txt /*<xDown>*
<xEnd> term.txt /*<xEnd>*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index df2176de..ec951836 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.3. Last change: 2011 Feb 25
+*todo.txt* For Vim version 7.3. Last change: 2011 Mar 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,11 +30,43 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
-New r and rhelp syntax files. (Jakson Alves de Aquino, 2011 Feb 20)
+The :z command doesn't work exactly as it should. (ChangZhuo Chen, 2011 Mar 2)
-In file message show "blowfish" instead of "crypted" when using blowfish.
+Crash with ":python help(dir)". (Kearn Holliday, 2011 Mar 19)
+I can reproduce it. Don't know why it happens.
-Patch to fix drag-n-drop in KDE. (Florian Degner, 2011 Feb 23)
+Compare with how old Vi works and with posix spec. terminal is 80 x 24,
+'scroll' option set to 11.
+
+Update Bavarian tutor. (Sepp Hell, 2011 Mar 10)
+
+After ":set t_kb=" ":set t_kb" gives an error, should report an empty string.
+Can do ":set t_xy=foo", need to check for valid name.
+
+Menu File/Close should close a tab if it's not the last one and it
+contains only one window (Jean Johner)
+Patch by Ben Schmidt (7 maart)
+
+Patch to update .hgtags (Ben Haskell, 2011 Mar 8)
+Also hints how to add a tag after committing a patch.
+
+Patch for slow write: undefined symbols with FEAT_CLIENTSERVER.
+Alternative tests. (Krasilnikov)
+
+When opening file from windows explorer, characters inside [] cause
+problems, even though double quotes are used. (Manuel Stol, 2011 Mar 9)
+
+Patch for Vim indent file. (Cocular, 2011 Mar)
+
+:help c_Esc should work, but only :help c_<Esc> does.
+
+Patch to change the meaning of \n in substitute(). (motoya kurotsu, 2011 Mar 8)
+
+New version of Pascal indent file. (Neil Carter, 2011 Mar 9)
+
+Help file foldexpr (ZyX)
+
+upstart syntax file (James Hunt, Mar 11 2011)
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
@@ -43,15 +75,24 @@ only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20)
Crash with big .xpm file. (Yukihiro Nakadaira, 2011 Feb 18)
+Patch from Ben Schmidt (2011 Mar 3). Needs some more work.
+
+Patch for disappearing cursor after netbeans command. (Xavier de Gaye, 2011
+Mar 4)
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
+Compiler scripts for fortran (Hong Xu, 2011 March 19)
+
This line hangs Vim, because of syntax HL:
call append(line, "INFO ....12....18....24....30....36....42....48....54....60....66....72....78%$")
Building the MingW version without clipboard but with multi-byte doesn't
work. (Bill Lam, 2010 Sep 18)
+Patch for handling of NL in substitute() with \= expression. (Motoya Kurotsu,
+2011 Mar 16)
+
When using a Vim server, a # in the path causes an error message.
(Jeff Lanzarotta, 2011 Feb 17)
@@ -68,7 +109,7 @@ On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
right type.
Patch to improve mf_hash, dynamic sizing. (Ivan Krasilnikov, 2010 Dec 17)
-Needs tests.
+Update with tests: 2011 Feb 28.
string() can't parse back "inf" and "nan". Fix documentation or fix code?
(ZyX, 2010 Aug 23)
@@ -82,12 +123,14 @@ Update Nov 19. James Vega: still not right. Christian: it's difficult.
Patch to add up to 99 match groups. (Christian Brabandt, 2010 Dec 22)
Also add named groups: \%{name}(re) and \%{name}g
-Patch to use pattern from last :s when there is no last search pattern.
-(Christian Brabandt, 2011 Jan 24) Would this break anything?
-
Bug in try/catch: return with invalid compare throws error that isn't caught.
(ZyX, 2011 Jan 26)
+Improvement patch for filetype.vim. (Thilo Six, 2011 Mar 19)
+
+Patch for "+ and "* getting same selection when "a" is not in 'guioptions'.
+(James Vega, 2011 Mar 17)
+
Highlighting stops working after changing it many times. Script to reproduce
it: Pablo Contreras, 2010 Oct 12 Windows XP and 7. Font is never freed?
@@ -98,6 +141,10 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
+Deleting a linewise selection that includes the last line of the file leaves
+an empty line. (Ben Schmidt, 2011 Mar 17)
+Patch by Christian Brabandt, 2011 Mar 19.
+
Two patches for xxd. (Florian Zumbiehl, 2011 Jan 11)
Two updates for second one Jan 12.
@@ -140,6 +187,9 @@ doesn't look right. (Dominique Pelle, 2010 Aug 8)
GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)
+Win32: tear-off menu does not work when menu language is German. (Markus
+Bossler, 2011 Mar 2) Fixed by 7.3.095?
+
Patch for adding 's' option to 'cino', C++ namespace indenting. (Konstantin
Lepa, 2011 Jan 18)
@@ -174,6 +224,9 @@ New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)
- instead of a regexp use a hashtable. Expand '?', '*", '+'. What would be
the maximum repeat for * and +?
+"L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle,
+2011 Feb 27)
+
Copy/paste between Vim and Google chrome doesn't work well for multi-byte
characters. (Ben Haskell, 2010 Sep 17)
When putting text in the cut buffer (when exiting) and conversion doesn't work
@@ -200,6 +253,9 @@ Nov 25)
GTK: Patch to fix menu popping down. (Hong Xu, 2010 Dec 4, Dec 5)
Update 2011 Feb 3.
+Patch to use pipes on Win32. (Vincent Berthoux, 2011 Feb 28)
+Update Mar 1 using 'shelltemp'.
+
Python: Adding line to buffer other than the current one doesn't work
correctly. (Rozbujnik, 2010 Dec 19)
@@ -279,8 +335,6 @@ Patch to make more characters work in dialogs. (Yankwei Jia, 2010 Aug 4)
Patch for VisVim, pass file name to VimOpenFile. (Jiri Sedlak, 2010 Nov 12)
-":com" changes the multi-byte text of :echo. (Dimitar Dimitrov, 2011 Feb 11)
-
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
instead of one. (Constantin Pan, 2010 Sep 10)
@@ -397,6 +451,9 @@ find out why.
When completion inserts the first match, it may trigger the line to be folded.
Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
+Using ":call foo#d.f()" doesn't autoload the "foo.vim" file. Works OK for
+echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 17)
+
In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009
Jun 1)
@@ -2334,6 +2391,9 @@ Problems that will (probably) not be solved:
- Win32, MS-Windows XP: $HOME uses the wrong drive when the user profiles
are not on the boot disk. This is caused by a wrong value of $HOMEDRIVE.
This is a bug in XP, see MSKB article 818134.
+- Win32, MS-Windows: expanding plugin/**/*.vim also picks up
+ dir/ctags.vim,v. This is because the short file name is something like
+ "ctags~1.vim" and that matches the pattern.
- SunOS 5.5.1 with Motif: The file open dialog does not have a horizontal
scroll bar for the "files" selection. This is a problem in the Motif
libraries, get a patch from Sun.
@@ -3752,6 +3812,10 @@ Insert mode:
<< "y";
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"
+ Also check if "cino=+10" is used correctly.
8 Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17)
8 Why are continuation lines outside of a {} block not indented? E.g.:
long_type foo =
@@ -4057,6 +4121,8 @@ Searching:
Use "&/" for searching the text in the Visual area?
9 Add "v" offset: "/pat/v": search for pattern and start Visual mode on the
matching text.
+8 Add a modifier to interpret a space like "\_s\+" to make it much easier to
+ search for a phrase.
8 Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)". \@g stands
for "go recursive here" and \@( \) marks the recursive part.
Perl does it this way:
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 8342f76a..d319a083 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -661,7 +661,14 @@ Floating point computation: *float-functions*
sqrt() square root
sin() sine
cos() cosine
+ tan() tangent
+ asin() arc sine
+ acos() arc cosine
atan() arc tangent
+ atan2() arc tangent
+ sinh() hyperbolic sine
+ cosh() hyperbolic cosine
+ tanh() hyperbolic tangent
Variables: *var-functions*
type() type of a variable
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 3b3aa141..2fd3c209 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 7.3. Last change: 2011 Feb 01
+*various.txt* For Vim version 7.3. Last change: 2011 Mar 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -133,14 +133,14 @@ g8 Print the hex values of the bytes used in the
specified with {range}, or around the current line
if there is no {range}. If there is a {count}, that's
how many lines you'll see; if there is only one window
- then the 'window' option is used, otherwise the
- current window size is used.
+ then twice the value of the 'scroll' option is used,
+ otherwise the current window height minus 3 is used.
:z can be used either alone or followed by any of
several punctuation marks. These have the following
effect:
- mark first line last line new location ~
+ mark first line last line new cursor line ~
---- ---------- --------- ------------
+ current line 1 scr forward 1 scr forward
- 1 scr back current line current line
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 3b01aaf4..50909254 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: 2011 Feb 23
+" Last Change: 2011 Mar 22
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -325,7 +325,7 @@ au BufNewFile,BufRead */.calendar/*,
au BufNewFile,BufRead *.cs setf cs
" Cabal
-au BufNewFile,BufRead *.cabal setf cabal
+au BufNewFile,BufRead *.cabal setf cabal
" Cdrdao TOC
au BufNewFile,BufRead *.toc setf cdrtoc
@@ -536,7 +536,7 @@ au BufNewFile,BufRead *.qc setf c
au BufNewFile,BufRead *.cfg setf cfg
" Cucumber
-au BufNewFile,BufRead *.feature setf cucumber
+au BufNewFile,BufRead *.feature setf cucumber
" Communicating Sequential Processes
au BufNewFile,BufRead *.csp,*.fdr setf csp
@@ -678,7 +678,7 @@ au BufNewFile,BufRead *.exp setf expect
au BufNewFile,BufRead exports setf exports
" Falcon
-au BufNewFile,BufRead *.fal setf falcon
+au BufNewFile,BufRead *.fal setf falcon
" Fantom
au BufNewFile,BufRead *.fan,*.fwt setf fan
@@ -779,7 +779,7 @@ au BufNewFile,BufRead *.haml setf haml
au BufNewFile,BufRead *.hsc,*.hsm setf hamster
" Haskell
-au BufNewFile,BufRead *.hs,*.hs-boot setf haskell
+au BufNewFile,BufRead *.hs,*.hs-boot setf haskell
au BufNewFile,BufRead *.lhs setf lhaskell
au BufNewFile,BufRead *.chs setf chaskell
@@ -872,7 +872,9 @@ func! s:ProtoCheck(default)
" Cproto files have a comment in the first line and a function prototype in
" the second line, it always ends in ";". Indent files may also have
" comments, thus we can't match comments to see the difference.
- if getline(2) =~ ';$'
+ " IDL files can have a single ';' in the second line, require at least one
+ " chacter before the ';'.
+ if getline(2) =~ '.;$'
setf cpp
else
exe 'setf ' . a:default
@@ -1405,7 +1407,7 @@ au BufNewFile,BufRead *.it,*.ih setf ppwiz
" Obj 3D file format
" TODO: is there a way to avoid MS-Windows Object files?
-au BufNewFile,BufRead *.obj setf obj
+au BufNewFile,BufRead *.obj setf obj
" Oracle Pro*C/C++
au BufNewFile,BufRead *.pc setf proc
@@ -1650,7 +1652,7 @@ au BufNewFile,BufRead *.sa setf sather
au BufNewFile,BufRead *.sci,*.sce setf scilab
" SCSS
-au BufNewFile,BufRead *.scss setf scss
+au BufNewFile,BufRead *.scss setf scss
" SD: Streaming Descriptors
au BufNewFile,BufRead *.sd setf sd
@@ -1811,7 +1813,7 @@ endfunc
" Z-Shell script
au BufNewFile,BufRead .zprofile,/etc/zprofile,.zfbfmarks setf zsh
au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh')
-au BufNewFile,BufRead *.zsh setf zsh
+au BufNewFile,BufRead *.zsh setf zsh
" Scheme
au BufNewFile,BufRead *.scm,*.ss setf scheme
@@ -2101,6 +2103,9 @@ au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf
" TPP - Text Presentation Program
au BufNewFile,BufReadPost *.tpp setf tpp
+" Treetop
+au BufRead,BufNewFile *.treetop setf treetop
+
" Trustees
au BufNewFile,BufRead trustees.conf setf trustees
@@ -2131,6 +2136,10 @@ au BufNewFile,BufRead *.uc setf uc
" Updatedb
au BufNewFile,BufRead /etc/updatedb.conf setf updatedb
+" Upstart (init(8)) config files
+au BufNewFile,BufRead */etc/init/*.conf,~/.init/*.conf setf upstart
+au BufNewFile,BufRead */etc/init/*.override,~/.init/*.override setf upstart
+
" Vera
au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera
diff --git a/runtime/ftplugin/treetop.vim b/runtime/ftplugin/treetop.vim
new file mode 100644
index 00000000..2da3c405
--- /dev/null
+++ b/runtime/ftplugin/treetop.vim
@@ -0,0 +1,19 @@
+" Vim filetype plugin file
+" Language: Treetop
+" Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2011-03-14
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+setlocal comments=b:# commentstring=#\ %s formatoptions-=tcroq formatoptions+=l
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/indent/treetop.vim b/runtime/indent/treetop.vim
new file mode 100644
index 00000000..a2af78b8
--- /dev/null
+++ b/runtime/indent/treetop.vim
@@ -0,0 +1,38 @@
+" Vim indent file
+" Language: Treetop
+" Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2011-03-14
+
+if exists("b:did_indent")
+ finish
+endif
+let b:did_indent = 1
+
+setlocal indentexpr=GetTreetopIndent()
+setlocal indentkeys=0{,0},!^F,o,O,=end
+setlocal nosmartindent
+
+if exists("*GetTreetopIndent")
+ finish
+endif
+
+function GetTreetopIndent()
+ let pnum = prevnonblank(v:lnum - 1)
+ if pnum == 0
+ return 0
+ endif
+
+ let ind = indent(pnum)
+ let line = getline(pnum)
+
+ if line =~ '^\s*\%(grammar\|module\|rule\)\>'
+ let ind += &sw
+ endif
+
+ let line = getline(v:lnum)
+ if line =~ '^\s*end\>'
+ let ind -= &sw
+ end
+
+ retur ind
+endfunction
diff --git a/runtime/lang/menu_ko_kr.euckr.vim b/runtime/lang/menu_ko_kr.euckr.vim
index 11809cf9..84be04dd 100644
--- a/runtime/lang/menu_ko_kr.euckr.vim
+++ b/runtime/lang/menu_ko_kr.euckr.vim
@@ -1,6 +1,6 @@
" Menu Translations: Korean
" Maintainer: SungHyun Nam <goweol@gmail.com>
-" Last Change: 2010 Feb 18
+" Last Change: 2011 Mar 22
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -42,7 +42,7 @@ menutrans E&xit<Tab>:qa (&x)<Tab>:qa
" Edit menu
menutrans &Edit (&E)
menutrans &Undo<Tab>u (&U)<Tab>u
-menutrans &Redo<Tab>^R ٽ (&R)<Tab>^R
+menutrans &Redo<Tab>^R ٽ\ (&R)<Tab>^R
menutrans Rep&eat<Tab>\. Ǯ(&e)<Tab>\.
menutrans Cu&t<Tab>"+x ڸ(&t)<Tab>"+x
menutrans &Copy<Tab>"+y (&C)<Tab>"+y
@@ -63,7 +63,7 @@ menutrans Toggle\ &Ignore-case<Tab>:set\ ic! ҹ\ \ (&I)<Tab>:set\
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Showmatch\ (&S)<Tab>:set\ sm!
menutrans &Context\ lines ؽƮ\ (&C)
menutrans &Virtual\ Edit \ (&V)
-menutrans Never
+menutrans Never \ \
menutrans Block\ Selection \
menutrans Insert\ mode \
menutrans Block\ and\ Insert \
@@ -92,7 +92,7 @@ menutrans Toggle\ &auto-indent<Tab>:set\ ai! ڵεƮ\ (&a)<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! C-ε\ (&C)<Tab>:set\ cin!
" other options
-menutrans &Shiftwidth Ʈ ʺ(&S)
+menutrans &Shiftwidth Ʈ\ ʺ(&S)
menutrans Soft\ &Tabstop Ʈ\ ǽ(&T)
menutrans Te&xt\ Width\.\.\. ؽƮ\ ʺ(&x)\.\.\.
menutrans &File\ Format\.\.\. \ (&F)\.\.\.
@@ -125,12 +125,12 @@ menutrans &Find\ More\ Languages ٸ\ \ ã(&F)
" Tools.Fold Menu
menutrans &Folding (&F)
" open close folds
-menutrans &Enable/Disable\ folds<Tab>zi \ \ \ (&E)<Tab>zi
+menutrans &Enable/Disable\ folds<Tab>zi \ \ (&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv Ŀ\ \ (&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Ŀ\ ٸ\ (&w)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm \ \ \ ݱ(&l)<Tab>zm
-menutrans &Close\ all\ folds<Tab>zM \ κ\ \ (&C)<Tab>zM
-menutrans O&pen\ more\ folds<Tab>zr \ \ (&p)<Tab>zr
+menutrans &Close\ all\ folds<Tab>zM \ \ ݱ(&C)<Tab>zM
+menutrans O&pen\ more\ folds<Tab>zr \ \ \ (&p)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR \ κ\ \ (&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod \ (&h)
@@ -141,11 +141,11 @@ menutrans S&yntax ý(&y)
"menutrans &Diff &Diff
menutrans Ma&rker ǥ(&r)
" create and delete folds
-menutrans Create\ &Fold<Tab>zf (&F)<Tab>zf
-menutrans &Delete\ Fold<Tab>zd (&D)<Tab>zd
-menutrans Delete\ &All\ Folds<Tab>zD \ (&A)<Tab>zD
+menutrans Create\ &Fold<Tab>zf \ (&F)<Tab>zf
+menutrans &Delete\ Fold<Tab>zd \ (&D)<Tab>zd
+menutrans Delete\ &All\ Folds<Tab>zD \ \ (&A)<Tab>zD
" moving around in folds
-menutrans Fold\ column\ &width \ ĭ\ ʺ(&w)
+menutrans Fold\ column\ &width \ ÷\ ʺ(&w)
"menutrans &Diff &Diff
menutrans &Update (&U)
diff --git a/runtime/lang/menu_ko_kr.utf-8.vim b/runtime/lang/menu_ko_kr.utf-8.vim
index ef461737..93f85511 100644
--- a/runtime/lang/menu_ko_kr.utf-8.vim
+++ b/runtime/lang/menu_ko_kr.utf-8.vim
@@ -1,6 +1,6 @@
" Menu Translations: Korean
" Maintainer: SungHyun Nam <goweol@gmail.com>
-" Last Change: 2010 Feb 18
+" Last Change: 2011 Mar 22
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -42,7 +42,7 @@ menutrans E&xit<Tab>:qa 끝내기(&x)<Tab>:qa
" Edit menu
menutrans &Edit 편집(&E)
menutrans &Undo<Tab>u 취소(&U)<Tab>u
-menutrans &Redo<Tab>^R 다시 실행(&R)<Tab>^R
+menutrans &Redo<Tab>^R 다시\ 실행(&R)<Tab>^R
menutrans Rep&eat<Tab>\. 되풀이(&e)<Tab>\.
menutrans Cu&t<Tab>"+x 자르기(&t)<Tab>"+x
menutrans &Copy<Tab>"+y 복사(&C)<Tab>"+y
@@ -63,7 +63,7 @@ menutrans Toggle\ &Ignore-case<Tab>:set\ ic! 대소문자\ 구분\ 토글(&I)<Ta
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Showmatch\ 토글(&S)<Tab>:set\ sm!
menutrans &Context\ lines 콘텍스트\ 줄(&C)
menutrans &Virtual\ Edit 가상\ 편집(&V)
-menutrans Never 사용 안 함
+menutrans Never 사용\ 안\ 함
menutrans Block\ Selection 블럭\ 고르기
menutrans Insert\ mode 삽입\ 모드
menutrans Block\ and\ Insert 블럭과\ 삽입
@@ -92,7 +92,7 @@ menutrans Toggle\ &auto-indent<Tab>:set\ ai! 자동인덴트\ 토글(&a)<Tab>:se
menutrans Toggle\ &C-indenting<Tab>:set\ cin! C-인덴팅\ 토글(&C)<Tab>:set\ cin!
" other options
-menutrans &Shiftwidth 쉬프트 너비(&S)
+menutrans &Shiftwidth 쉬프트\ 너비(&S)
menutrans Soft\ &Tabstop 소프트\ 탭스톱(&T)
menutrans Te&xt\ Width\.\.\. 텍스트\ 너비(&x)\.\.\.
menutrans &File\ Format\.\.\. 파일\ 형식(&F)\.\.\.
@@ -125,12 +125,12 @@ menutrans &Find\ More\ Languages 다른\ 언어\ 찾기(&F)
" Tools.Fold Menu
menutrans &Folding 접기(&F)
" open close folds
-menutrans &Enable/Disable\ folds<Tab>zi 접는\ 기능\ 사용\ 토글(&E)<Tab>zi
+menutrans &Enable/Disable\ folds<Tab>zi 접기\ 사용\ 토글(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv 커서\ 줄\ 보기(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx 커서\ 줄만\ 보기(&w)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm 더\ 많은\ 접기\ 닫기(&l)<Tab>zm
-menutrans &Close\ all\ folds<Tab>zM 접힌\ 부분\ 모두\ 접기(&C)<Tab>zM
-menutrans O&pen\ more\ folds<Tab>zr 더 많은\ 접기\ 열기(&p)<Tab>zr
+menutrans &Close\ all\ folds<Tab>zM 모든\ 접기\ 닫기(&C)<Tab>zM
+menutrans O&pen\ more\ folds<Tab>zr 더\ 많은\ 접기\ 열기(&p)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR 접힌\ 부분\ 모두\ 펴기(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod 접는\ 방법(&h)
@@ -141,11 +141,11 @@ menutrans S&yntax 신택스(&y)
"menutrans &Diff &Diff
menutrans Ma&rker 꼬리표(&r)
" create and delete folds
-menutrans Create\ &Fold<Tab>zf 새로 접기(&F)<Tab>zf
-menutrans &Delete\ Fold<Tab>zd 완전히 펴기(&D)<Tab>zd
-menutrans Delete\ &All\ Folds<Tab>zD 모두\ 펴기(&A)<Tab>zD
+menutrans Create\ &Fold<Tab>zf 접기\ 생성(&F)<Tab>zf
+menutrans &Delete\ Fold<Tab>zd 접기\ 삭제(&D)<Tab>zd
+menutrans Delete\ &All\ Folds<Tab>zD 모든\ 접기\ 삭제(&A)<Tab>zD
" moving around in folds
-menutrans Fold\ column\ &width 접을\ 칸\ 너비(&w)
+menutrans Fold\ column\ &width 접기\ 컬럼\ 너비(&w)
"menutrans &Diff &Diff
menutrans &Update 갱신(&U)
diff --git a/runtime/syntax/r.vim b/runtime/syntax/r.vim
index 7d98e92b..8912ba19 100644
--- a/runtime/syntax/r.vim
+++ b/runtime/syntax/r.vim
@@ -3,13 +3,18 @@
" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
" Former Maintainers: Vaidotas Zemlys <zemlys@gmail.com>
" Tom Payne <tom@tompayne.org>
-" Last Change: Wed Sep 29, 2010 09:31AM
+" Last Change: Sun Feb 20, 2011 12:06PM
" Filenames: *.R *.r *.Rhistory *.Rt
"
" NOTE: The highlighting of R functions is defined in the
" r-plugin/functions.vim, which is part of vim-r-plugin2:
" http://www.vim.org/scripts/script.php?script_id=2628
"
+" CONFIGURATION:
+" syntax folding can be turned on by
+"
+" let r_syntax_folding = 1
+"
" Some lines of code were borrowed from Zhuojun Chen.
if exists("b:current_syntax")
@@ -18,18 +23,30 @@ endif
setlocal iskeyword=@,48-57,_,.
+if exists("g:r_syntax_folding")
+ setlocal foldmethod=syntax
+endif
+
syn case match
" Comment
syn match rComment contains=@Spell "\#.*"
-" string enclosed in double quotes
-syn region rString contains=rSpecial,rStrError,@Spell start=/"/ skip=/\\\\\|\\"/ end=/"/
-" string enclosed in single quotes
-syn region rString contains=rSpecial,rStrError,@Spell start=/'/ skip=/\\\\\|\\'/ end=/'/
+if &filetype == "rhelp"
+ " string enclosed in double quotes
+ syn region rString contains=rSpecial,@Spell start=/"/ skip=/\\\\\|\\"/ end=/"/
+ " string enclosed in single quotes
+ syn region rString contains=rSpecial,@Spell start=/'/ skip=/\\\\\|\\'/ end=/'/
+else
+ " string enclosed in double quotes
+ syn region rString contains=rSpecial,rStrError,@Spell start=/"/ skip=/\\\\\|\\"/ end=/"/
+ " string enclosed in single quotes
+ syn region rString contains=rSpecial,rStrError,@Spell start=/'/ skip=/\\\\\|\\'/ end=/'/
+endif
syn match rStrError display contained "\\."
+
" New line, carriage return, tab, backspace, bell, feed, vertical tab, backslash
syn match rSpecial display contained "\\\(n\|r\|t\|b\|a\|f\|v\|'\|\"\)\|\\\\"
@@ -42,9 +59,6 @@ syn match rSpecial display contained "\\U\x\{1,8}"
syn match rSpecial display contained "\\u{\x\{1,4}}"
syn match rSpecial display contained "\\U{\x\{1,8}}"
-
-syn match rDollar "\$"
-
" Statement
syn keyword rStatement break next return
syn keyword rConditional if else
@@ -54,26 +68,18 @@ syn keyword rRepeat for in repeat while
syn keyword rConstant T F LETTERS letters month.ab month.name pi
syn keyword rConstant R.version.string
-" Constant
+syn keyword rNumber NA_integer_ NA_real_ NA_complex_ NA_character_
+
+" Constants
syn keyword rConstant NULL
syn keyword rBoolean FALSE TRUE
-syn keyword rNumber NA NA_integer_ NA_real_ NA_complex_ NA_character_
-syn keyword rNumber Inf NaN
+syn keyword rNumber NA Inf NaN
" integer
syn match rInteger "\<\d\+L"
syn match rInteger "\<0x\([0-9]\|[a-f]\|[A-F]\)\+L"
syn match rInteger "\<\d\+[Ee]+\=\d\+L"
-syn match rOperator "[\*\!\&\+\-\<\>\=\^\|\~\`/:@]"
-syn match rOperator "%\{2}\|%\*%\|%\/%\|%in%\|%o%\|%x%"
-
-syn match rComplex "\<\d\+i"
-syn match rComplex "\<0x\([0-9]\|[a-f]\|[A-F]\)\+i"
-syn match rComplex "\<\d\+\.\d*\([Ee][-+]\=\d\+\)\=i"
-syn match rComplex "\<\.\d\+\([Ee][-+]\=\d\+\)\=i"
-syn match rComplex "\<\d\+[Ee][-+]\=\d\+i"
-
" number with no fractional part or exponent
syn match rNumber "\<\d\+\>"
" hexadecimal number
@@ -86,6 +92,28 @@ syn match rFloat "\<\.\d\+\([Ee][-+]\=\d\+\)\="
" floating point number with no fractional part and optional exponent
syn match rFloat "\<\d\+[Ee][-+]\=\d\+"
+" complex number
+syn match rComplex "\<\d\+i"
+syn match rComplex "\<\d\++\d\+i"
+syn match rComplex "\<0x\([0-9]\|[a-f]\|[A-F]\)\+i"
+syn match rComplex "\<\d\+\.\d*\([Ee][-+]\=\d\+\)\=i"
+syn match rComplex "\<\.\d\+\([Ee][-+]\=\d\+\)\=i"
+syn match rComplex "\<\d\+[Ee][-+]\=\d\+i"
+
+syn match rOperator "&"
+syn match rOperator '-'
+syn match rOperator '*'
+syn match rOperator '+'
+syn match rOperator '='
+syn match rOperator "[|!<>^~`/:@]"
+syn match rOperator "%\{2}\|%\*%\|%\/%\|%in%\|%o%\|%x%"
+syn match rOpError '*\{3}'
+syn match rOpError '//'
+syn match rOpError '&&&'
+syn match rOpError '|||'
+syn match rOpError '<<'
+syn match rOpError '>>'
+
syn match rArrow "<\{1,2}-"
syn match rArrow "->\{1,2}"
@@ -93,20 +121,50 @@ syn match rArrow "->\{1,2}"
syn match rDelimiter "[,;:]"
" Error
-syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError
-syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError
-syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError
+if exists("g:r_syntax_folding")
+ syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError fold
+ syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError fold
+ syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError fold
+else
+ syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError
+ syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError
+ syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError
+endif
+
syn match rError "[)\]}]"
syn match rBraceError "[)}]" contained
syn match rCurlyError "[)\]]" contained
syn match rParenError "[\]}]" contained
+" Source list of R functions. The list is produced by the Vim-R-plugin
+" http://www.vim.org/scripts/script.php?script_id=2628
+runtime r-plugin/functions.vim
+
+syn match rDollar display contained "\$"
+
+" List elements will not be highlighted as functions:
+syn match rLstElmt "\$[a-zA-Z0-9\\._]*" contains=rDollar
+
" Functions that may add new objects
syn keyword rPreProc library require attach detach source
+if &filetype == "rhelp"
+ syn match rHelpIdent '\\method'
+ syn match rHelpIdent '\\S4method'
+endif
+
" Type
syn keyword rType array category character complex double function integer list logical matrix numeric vector data.frame
+" Name of object with spaces
+syn region rNameWSpace start="`" end="`"
+
+if &filetype == "rhelp"
+ syn match rhPreProc "^#ifdef.*"
+ syn match rhPreProc "^#endif.*"
+ syn match rhSection "\\dontrun\>"
+endif
+
" Define the default highlighting.
hi def link rArrow Statement
hi def link rBoolean Boolean
@@ -120,9 +178,16 @@ hi def link rDelimiter Delimiter
hi def link rDollar SpecialChar
hi def link rError Error
hi def link rFloat Float
+hi def link rFunction Function
+hi def link rHelpIdent Identifier
+hi def link rhPreProc PreProc
+hi def link rhSection PreCondit
hi def link rInteger Number
+hi def link rLstElmt Normal
+hi def link rNameWSpace Normal
hi def link rNumber Number
hi def link rOperator Operator
+hi def link rOpError Error
hi def link rParenError Error
hi def link rPreProc PreProc
hi def link rRepeat Repeat
diff --git a/runtime/syntax/rhelp.vim b/runtime/syntax/rhelp.vim
index 7550b129..9120d756 100644
--- a/runtime/syntax/rhelp.vim
+++ b/runtime/syntax/rhelp.vim
@@ -1,7 +1,8 @@
" Vim syntax file
" Language: R Help File
-" Maintainer: Johannes Ranke <jranke@uni-bremen.de>
-" Last Change: 2010 Nov 22
+" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
+" Former Maintainer: Johannes Ranke <jranke@uni-bremen.de>
+" Last Change: Sat Feb 19, 2011 02:13PM
" Version: 0.7.4
" SVN: $Id: rhelp.vim 90 2010-11-22 10:58:11Z ranke $
" Remarks: - Includes R syntax highlighting in the appropriate
@@ -24,36 +25,46 @@ endif
syn case match
-" R help identifiers {{{
+" R help identifiers {{{1
syn region rhelpIdentifier matchgroup=rhelpSection start="\\name{" end="}"
syn region rhelpIdentifier matchgroup=rhelpSection start="\\alias{" end="}"
-syn region rhelpIdentifier matchgroup=rhelpSection start="\\pkg{" end="}"
+syn region rhelpIdentifier matchgroup=rhelpSection start="\\pkg{" end="}" contains=rhelpLink
syn region rhelpIdentifier matchgroup=rhelpSection start="\\method{" end="}" contained
syn region rhelpIdentifier matchgroup=rhelpSection start="\\Rdversion{" end="}"
" Highlighting of R code using an existing r.vim syntax file if available {{{1
syn include @R syntax/r.vim
+
+" Strings {{{1
+syn region rhelpString start=/"/ skip=/\\"/ end=/"/ contains=rhelpSpecialChar,rhelpCodeSpecial,rhelpLink contained
+
+" Special characters in R strings
+syn match rhelpCodeSpecial display contained "\\\\\(n\|r\|t\|b\|a\|f\|v\|'\|\"\)\|\\\\"
+
+" Special characters ( \$ \& \% \# \{ \} \_)
+syn match rhelpSpecialChar "\\[$&%#{}_]"
+
+
+" R code {{{1
syn match rhelpDots "\\dots" containedin=@R
-syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpSection
+syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpLink,rhelpIdentifier,rhelpString,rhelpSpecialChar,rhelpSection
syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpIdentifier,rhelpS4method
syn region rhelpRcode matchgroup=Delimiter start="\\synopsis{" matchgroup=Delimiter transparent end="}" contains=@R
-syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end="}" contains=@R contained
-syn region rhelpRcode matchgroup=Delimiter start="\\code{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpLink contained
-syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=")" contains=@R,rhelpDots contained
+syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end="}" contains=@R
+syn region rhelpRcode matchgroup=Delimiter start="\\code{" skip='\\\@<!{.\{-}\\\@<!}' transparent end="}" contains=@R,rhelpDots,rhelpString,rhelpSpecialChar,rhelpLink keepend
+syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=")" contains=@R,rhelpDots
syn region rhelpSexpr matchgroup=Delimiter start="\\Sexpr{" matchgroup=Delimiter transparent end="}" contains=@R
-" Strings {{{1
-syn region rhelpString start=/"/ end=/"/
-
-" Special characters ( \$ \& \% \# \{ \} \_) {{{1
-syn match rhelpSpecialChar "\\[$&%#{}_]"
+" PreProc {{{1
+syn match rhelpPreProc "^#ifdef.*"
+syn match rhelpPreProc "^#endif.*"
" Special Delimiters {{{1
syn match rhelpDelimiter "\\cr"
syn match rhelpDelimiter "\\tab "
" Keywords {{{1
-syn match rhelpKeyword "\\R" contained
+syn match rhelpKeyword "\\R"
syn match rhelpKeyword "\\ldots"
syn match rhelpKeyword "--"
syn match rhelpKeyword "---"
@@ -111,9 +122,13 @@ syn match rhelpKeyword "\\Psi"
syn match rhelpKeyword "\\Omega"
" Links {{{1
-syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend
-syn region rhelpLink matchgroup=rhelpSection start="\\link\[.\{-}\]{" end="}" contained keepend
-syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend
+syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend extend
+syn region rhelpLink matchgroup=rhelpSection start="\\link\[.\{-}\]{" end="}" contained keepend extend
+syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend extend
+
+" Verbatim like {{{1
+syn region rhelpVerbatim matchgroup=rhelpType start="\\samp{" skip='\\\@<!{.\{-}\\\@<!}' end="}" contains=rhelpSpecialChar,rhelpComment
+syn region rhelpVerbatim matchgroup=rhelpType start="\\verb{" skip='\\\@<!{.\{-}\\\@<!}' end="}" contains=rhelpSpecialChar,rhelpComment
" Type Styles {{{1
syn match rhelpType "\\emph\>"
@@ -123,7 +138,6 @@ syn match rhelpType "\\sQuote\>"
syn match rhelpType "\\dQuote\>"
syn match rhelpType "\\preformatted\>"
syn match rhelpType "\\kbd\>"
-syn match rhelpType "\\samp\>"
syn match rhelpType "\\eqn\>"
syn match rhelpType "\\deqn\>"
syn match rhelpType "\\file\>"
@@ -172,6 +186,8 @@ syn match rhelpSection "\\donttest\>"
syn region rhelpFreesec matchgroup=Delimiter start="\\section{" matchgroup=Delimiter transparent end="}"
syn region rhelpFreesubsec matchgroup=Delimiter start="\\subsection{" matchgroup=Delimiter transparent end="}"
+syn match rhelpDelimiter "{\|\[\|(\|)\|\]\|}"
+
" R help file comments {{{1
syn match rhelpComment /%.*$/
@@ -194,17 +210,21 @@ if version >= 508 || !exists("did_rhelp_syntax_inits")
else
command -nargs=+ HiLink hi def link <args>
endif
+ HiLink rhelpVerbatim String
+ HiLink rhelpDelimiter Delimiter
HiLink rhelpIdentifier Identifier
HiLink rhelpString String
+ HiLink rhelpCodeSpecial Special
HiLink rhelpKeyword Keyword
HiLink rhelpDots Keyword
HiLink rhelpLink Underlined
- HiLink rhelpType Type
+ HiLink rhelpType Type
HiLink rhelpSection PreCondit
HiLink rhelpError Error
HiLink rhelpBraceError Error
HiLink rhelpCurlyError Error
HiLink rhelpParenError Error
+ HiLink rhelpPreProc PreProc
HiLink rhelpDelimiter Delimiter
HiLink rhelpComment Comment
HiLink rhelpRComment Comment
diff --git a/runtime/syntax/treetop.vim b/runtime/syntax/treetop.vim
new file mode 100644
index 00000000..921c5bea
--- /dev/null
+++ b/runtime/syntax/treetop.vim
@@ -0,0 +1,110 @@
+" Vim syntax file
+" Language: Treetop
+" Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2011-03-14
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword treetopTodo
+ \ contained
+ \ TODO
+ \ FIXME
+ \ XXX
+ \ NOTE
+
+syn match treetopComment
+ \ '#.*'
+ \ display
+ \ contains=treetopTodo
+
+syn include @treetopRuby syntax/ruby.vim
+unlet b:current_syntax
+
+syn keyword treetopKeyword
+ \ require
+ \ end
+syn region treetopKeyword
+ \ matchgroup=treetopKeyword
+ \ start='\<\%(grammar\|include\|module\)\>\ze\s'
+ \ end='$'
+ \ transparent
+ \ oneline
+ \ keepend
+ \ contains=@treetopRuby
+syn keyword treetopKeyword
+ \ rule
+ \ nextgroup=treetopRuleName
+ \ skipwhite skipnl
+
+syn match treetopGrammarName
+ \ '\u\w*'
+ \ contained
+
+syn match treetopRubyModuleName
+ \ '\u\w*'
+ \ contained
+
+syn match treetopRuleName
+ \ '\h\w*'
+ \ contained
+
+syn region treetopString
+ \ matchgroup=treetopStringDelimiter
+ \ start=+"+
+ \ end=+"+
+syn region treetopString
+ \ matchgroup=treetopStringDelimiter
+ \ start=+'+
+ \ end=+'+
+
+syn region treetopCharacterClass
+ \ matchgroup=treetopCharacterClassDelimiter
+ \ start=+\[+
+ \ skip=+\\\]+
+ \ end=+\]+
+
+syn region treetopRubyBlock
+ \ matchgroup=treetopRubyBlockDelimiter
+ \ start=+{+
+ \ end=+}+
+ \ contains=@treetopRuby
+
+syn region treetopSemanticPredicate
+ \ matchgroup=treetopSemanticPredicateDelimiter
+ \ start=+[!&]{+
+ \ end=+}+
+ \ contains=@treetopRuby
+
+syn region treetopSubclassDeclaration
+ \ matchgroup=treetopSubclassDeclarationDelimiter
+ \ start=+<+
+ \ end=+>+
+ \ contains=@treetopRuby
+
+syn match treetopEllipsis
+ \ +''+
+
+hi def link treetopTodo Todo
+hi def link treetopComment Comment
+hi def link treetopKeyword Keyword
+hi def link treetopGrammarName Constant
+hi def link treetopRubyModuleName Constant
+hi def link treetopRuleName Identifier
+hi def link treetopString String
+hi def link treetopStringDelimiter treetopString
+hi def link treetopCharacterClass treetopString
+hi def link treetopCharacterClassDelimiter treetopCharacterClass
+hi def link treetopRubyBlockDelimiter PreProc
+hi def link treetopSemanticPredicateDelimiter PreProc
+hi def link treetopSubclassDeclarationDelimiter PreProc
+hi def link treetopEllipsis Special
+
+let b:current_syntax = 'treetop'
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/upstart.vim b/runtime/syntax/upstart.vim
new file mode 100644
index 00000000..9db8bcbd
--- /dev/null
+++ b/runtime/syntax/upstart.vim
@@ -0,0 +1,112 @@
+" Vim syntax file
+" Language: Upstart job files
+" Maintainer: Michael Biebl <biebl@debian.org>
+" James Hunt <james.hunt@ubuntu.com>
+" Last Change: 2011 Mar 22
+" License: GPL v2
+" Version: 0.4
+" Remark: Syntax highlighting for Upstart (init(8)) job files.
+"
+" It is inspired by the initng syntax file and includes sh.vim to do the
+" highlighting of script blocks.
+
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+let is_bash = 1
+syn include @Shell syntax/sh.vim
+
+syn case match
+
+" avoid need to use 'match' for most events
+setlocal iskeyword+=-
+
+syn match upstartComment /#.*$/ contains=upstartTodo
+syn keyword upstartTodo TODO FIXME contained
+
+syn region upstartString start=/"/ end=/"/ skip=/\\"/
+
+syn region upstartScript matchgroup=upstartStatement start="script" end="end script" contains=@upstartShellCluster
+
+syn cluster upstartShellCluster contains=@Shell
+
+" one argument
+syn keyword upstartStatement description author version instance expect
+syn keyword upstartStatement pid kill normal console env exit export
+syn keyword upstartStatement umask nice oom chroot chdir exec
+
+" two arguments
+syn keyword upstartStatement limit
+
+" one or more arguments (events)
+syn keyword upstartStatement emits
+
+syn keyword upstartStatement on start stop
+
+" flag, no parameter
+syn keyword upstartStatement respawn service instance manual debug task
+
+" prefix for exec or script
+syn keyword upstartOption pre-start post-start pre-stop post-stop
+
+" option for kill
+syn keyword upstartOption timeout
+" option for oom
+syn keyword upstartOption never
+" options for console
+syn keyword upstartOption output owner
+" options for expect
+syn keyword upstartOption fork daemon
+" options for limit
+syn keyword upstartOption unlimited
+
+" 'options' for start/stop on
+syn keyword upstartOption and or
+
+" Upstart itself and associated utilities
+syn keyword upstartEvent runlevel
+syn keyword upstartEvent started
+syn keyword upstartEvent starting
+syn keyword upstartEvent startup
+syn keyword upstartEvent stopped
+syn keyword upstartEvent stopping
+syn keyword upstartEvent control-alt-delete
+syn keyword upstartEvent keyboard-request
+syn keyword upstartEvent power-status-changed
+
+" D-Bus
+syn keyword upstartEvent dbus-activation
+
+" Display Manager (ie gdm)
+syn keyword upstartEvent desktop-session-start
+syn keyword upstartEvent login-session-start
+
+" mountall
+syn keyword upstartEvent all-swaps
+syn keyword upstartEvent filesystem
+syn keyword upstartEvent mounted
+syn keyword upstartEvent mounting
+syn keyword upstartEvent local-filesystems
+syn keyword upstartEvent remote-filesystems
+syn keyword upstartEvent virtual-filesystems
+
+" SysV umountnfs.sh
+syn keyword upstartEvent mounted-remote-filesystems
+
+" upstart-udev-bridge and ifup/down
+syn match upstartEvent /\<\i\{-1,}-device-\(added\|removed\|up\|down\)/
+
+" upstart-socket-bridge
+syn keyword upstartEvent socket
+
+hi def link upstartComment Comment
+hi def link upstartTodo Todo
+hi def link upstartString String
+hi def link upstartStatement Statement
+hi def link upstartOption Type
+hi def link upstartEvent Define
+
+let b:current_syntax = "upstart"