summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2011-09-14 17:55:08 +0200
committerBram Moolenaar <bram@vim.org>2011-09-14 17:55:08 +0200
commit7e2854f5fceedffb12f1073129d0a33437392c0f (patch)
tree3176527ca4344846d0c0a407ce6cf069894db742 /runtime
parent58e95f5dd0c9447fdb460513fd7b80a732f173e6 (diff)
downloadvim-7e2854f5fceedffb12f1073129d0a33437392c0f.tar.gz
Updated runtime files.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/autocmd.txt6
-rw-r--r--runtime/doc/eval.txt4
-rw-r--r--runtime/doc/gui.txt11
-rw-r--r--runtime/doc/gui_w32.txt5
-rw-r--r--runtime/doc/gui_x11.txt4
-rw-r--r--runtime/doc/if_pyth.txt4
-rw-r--r--runtime/doc/indent.txt45
-rw-r--r--runtime/doc/index.txt4
-rw-r--r--runtime/doc/insert.txt24
-rw-r--r--runtime/doc/map.txt5
-rw-r--r--runtime/doc/motion.txt4
-rw-r--r--runtime/doc/options.txt13
-rw-r--r--runtime/doc/os_vms.txt98
-rw-r--r--runtime/doc/os_win32.txt8
-rw-r--r--runtime/doc/pattern.txt2
-rw-r--r--runtime/doc/pi_vimball.txt3
-rw-r--r--runtime/doc/pi_zip.txt3
-rw-r--r--runtime/doc/starting.txt15
-rw-r--r--runtime/doc/tags7
-rw-r--r--runtime/doc/todo.txt150
-rw-r--r--runtime/doc/undo.txt8
-rw-r--r--runtime/doc/vi_diff.txt6
-rw-r--r--runtime/doc/windows.txt4
-rw-r--r--runtime/filetype.vim10
-rw-r--r--runtime/ftplugin/c.vim4
-rw-r--r--runtime/ftplugin/man.vim6
-rw-r--r--runtime/indent/awk.vim3
-rw-r--r--runtime/indent/r.vim482
-rw-r--r--runtime/indent/rst.vim34
-rw-r--r--runtime/plugin/matchparen.vim4
-rw-r--r--runtime/syntax/c.vim12
-rw-r--r--runtime/syntax/dosini.vim32
-rw-r--r--runtime/syntax/pamconf.vim8
-rw-r--r--runtime/syntax/php.vim136
-rw-r--r--runtime/syntax/verilog.vim34
35 files changed, 902 insertions, 296 deletions
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 40949bb1..c1484558 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 7.3. Last change: 2011 May 19
+*autocmd.txt* For Vim version 7.3. Last change: 2011 Aug 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -448,6 +448,9 @@ BufWriteCmd Before writing the whole buffer to a file.
'modified' if successful, unless '+' is in
'cpo' and writing to another file |cpo-+|.
The buffer contents should not be changed.
+ When the command resets 'modified' the undo
+ information is adjusted to mark older undo
+ states as 'modified', like |:write| does.
|Cmd-event|
*BufWritePost*
BufWritePost After writing the whole buffer to a file
@@ -508,6 +511,7 @@ CursorMoved After the cursor was moved in Normal mode.
not expect or that is slow.
*CursorMovedI*
CursorMovedI After the cursor was moved in Insert mode.
+ Not triggered when the popup menu is visible.
Otherwise the same as CursorMoved.
*EncodingChanged*
EncodingChanged Fires off after the 'encoding' option has been
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 12d9504f..624b47da 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 Jul 13
+*eval.txt* For Vim version 7.3. Last change: 2011 Aug 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -39,7 +39,7 @@ done, the features in this document are not available. See |+eval| and
*E712*
There are six types of variables:
-Number A 32 bit signed number. |expr-number| *Number*
+Number A 32 or 64 bit signed number. |expr-number| *Number*
Examples: -123 0x10 0177
Float A floating point number. |floating-point-format| *Float*
diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt
index 213f455c..b2e6a0c4 100644
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -1,4 +1,4 @@
-*gui.txt* For Vim version 7.3. Last change: 2010 Nov 03
+*gui.txt* For Vim version 7.3. Last change: 2011 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -147,6 +147,15 @@ task bar with the 'guiheadroom' option.
If you are running the X Window System, you can get information about the
window Vim is running in with this command: >
:!xwininfo -id $WINDOWID
+<
+ *gui-IME* *iBus*
+Input methods for international characters in X that rely on the XIM
+framework, most notably iBus, have been known to produce undesirable results
+in gVim. These may include an inability to enter spaces, or long delays
+between typing a character and it being recognized by the application.
+
+One workaround that has been successful, for unknown reasons, is to prevent
+gvim from forking into the background by starting it with the |-f| argument.
==============================================================================
2. Scrollbars *gui-scrollbars*
diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt
index 7b60c3b4..16758b00 100644
--- a/runtime/doc/gui_w32.txt
+++ b/runtime/doc/gui_w32.txt
@@ -1,4 +1,4 @@
-*gui_w32.txt* For Vim version 7.3. Last change: 2010 Dec 19
+*gui_w32.txt* For Vim version 7.3. Last change: 2011 Jul 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -137,6 +137,9 @@ options:
And if there already is a gvim running:
"Edit with existing gvim" -- edit the file with the running gvim
+The "edit with existing Vim" entries can be disabled by adding an entry in the
+registry under HKLM\Software\Vim\Gvim, named DisableEditWithExisting, and with
+any value.
*install-registry*
You can add the "Edit with Vim" menu entry in an easy way by using the
"install.exe" program. It will add several registry entries for you.
diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt
index 6d16500c..1ae656e0 100644
--- a/runtime/doc/gui_x11.txt
+++ b/runtime/doc/gui_x11.txt
@@ -1,4 +1,4 @@
-*gui_x11.txt* For Vim version 7.3. Last change: 2010 Jul 20
+*gui_x11.txt* For Vim version 7.3. Last change: 2011 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -53,6 +53,8 @@ When using "gvim -f" and then ":gui", Vim will run in the foreground. The
":gui -b".
"gvim --nofork" does the same as "gvim -f".
+ *E851* *E852*
+When starting the GUI fails Vim will try to continue running in the terminal.
If you want the GUI to run in the foreground always, include the 'f'
flag in 'guioptions'. |-f|.
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index 43c43565..03d24a5b 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt* For Vim version 7.3. Last change: 2011 May 07
+*if_pyth.txt* For Vim version 7.3. Last change: 2011 Aug 19
VIM REFERENCE MANUAL by Paul Moore
@@ -380,7 +380,7 @@ To work around such problems there are these options:
*has-python*
You can test what Python version is available with: >
if has('python')
- echo 'there is Pyton 2.x'
+ echo 'there is Python 2.x'
elseif has('python3')
echo 'there is Python 3.x'
endif
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index 7767ce89..9a4aaa79 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 Jul 15
+*indent.txt* For Vim version 7.3. Last change: 2011 Sep 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -132,8 +132,8 @@ The 'cinoptions' option sets how Vim performs indentation. The value after
the option character can be one of these (N is any number):
N indent N spaces
-N indent N spaces to the left
- Ns N times 'shiftwidth spaces
- -Ns N times 'shiftwidth spaces to the left
+ Ns N times 'shiftwidth' spaces
+ -Ns N times 'shiftwidth' spaces to the left
In the list below,
"N" represents a number of your choice (the number can be negative). When
@@ -432,7 +432,7 @@ The examples below assume a 'shiftwidth' of 4.
c3 c3
) && c4; ) && c4;
<
- *cino-2*
+ *cino-w*
wN When in unclosed parentheses and N is non-zero and either
using "(0" or "u0", respectively, or using "U0" and the unclosed
parentheses is the first non-white character in its line, line
@@ -706,6 +706,43 @@ Indent for a continuation line: >
let g:pyindent_continue = '&sw * 2'
+R *ft-r-indent*
+
+Function arguments are aligned if they span for multiple lines. If you prefer
+do not have the arguments of functions aligned, put in your |vimrc|:
+>
+ let r_indent_align_args = 0
+<
+All lines beginning with a comment character, #, get the same indentation
+level of the normal R code. Users of Emacs/ESS may be used to have lines
+beginning with a single # indented in the 40th column, ## indented as R code,
+and ### not indented. If you prefer that lines beginning with comment
+characters are aligned as they are by Emacs/ESS, put in your |vimrc|:
+>
+ let r_indent_ess_comments = 1
+<
+If you prefer that lines beginning with a single # are aligned at a column
+different from the 40th one, you should set a new value to the variable
+r_indent_comment_column, as in the example below:
+>
+ let r_indent_comment_column = 30
+<
+Any code after a line that ends with "<-" is indented. Emacs/ESS does not
+indent the code if it is a top level function. If you prefer that the
+Vim-R-plugin behaves like Emacs/ESS in this regard, put in your |vimrc|:
+>
+ let r_indent_ess_compatible = 1
+<
+Below is an example of indentation with and without this option enabled:
+>
+ ### r_indent_ess_compatible = 1 ### r_indent_ess_compatible = 0
+ foo <- foo <-
+ function(x) function(x)
+ { {
+ paste(x) paste(x)
+ } }
+<
+
SHELL *ft-sh-indent*
The amount of indent applied under various circumstances in a shell file can
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index bd9f3823..c01f1d03 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt* For Vim version 7.3. Last change: 2011 Jan 04
+*index.txt* For Vim version 7.3. Last change: 2011 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1261,7 +1261,7 @@ tag command action ~
|:k| :k set a mark
|:keepalt| :keepa[lt] following command keeps the alternate file
|:keepmarks| :kee[pmarks] following command keeps marks where they are
-|:keepjumps| :keepj[jumps] following command keeps jumplist and marks
+|:keepjumps| :keepj[umps] following command keeps jumplist and marks
|:lNext| :lN[ext] go to previous entry in location list
|:lNfile| :lNf[ile] go to last entry in previous file
|:list| :l[ist] print lines
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 4ee1c79b..24a17d52 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 Nov 10
+*insert.txt* For Vim version 7.3. Last change: 2011 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1020,6 +1020,21 @@ On the second invocation the arguments are:
The function must return a List with the matching words. These matches
usually include the "a:base" text. When there are no matches return an empty
List.
+
+In order to return more information than the matching words, return a Dict
+that contains the List. The Dict can have these items:
+ words The List of matching words (mandatory).
+ refresh A string to control re-invocation of the function
+ (optional).
+ The only value currently recognized is "always", the
+ effect is that the function is called whenever the
+ leading text is changed.
+Other items are ignored.
+
+For example, the function can contain this: >
+ let matches = ... list of words ...
+ return {'words': matches, 'refresh': 'always'}
+<
*complete-items*
Each list item can either be a string or a Dictionary. When it is a string it
is used as the completion. When it is a Dictionary it can contain these
@@ -1040,9 +1055,10 @@ items:
empty when non-zero this match will be added even when it is
an empty string
-All of these except 'icase' must be a string. If an item does not meet these
-requirements then an error message is given and further items in the list are
-not used. You can mix string and Dictionary items in the returned list.
+All of these except 'icase', 'dup' and 'empty' must be a string. If an item
+does not meet these requirements then an error message is given and further
+items in the list are not used. You can mix string and Dictionary items in
+the returned list.
The "menu" item is used in the popup menu and may be truncated, thus it should
be relatively short. The "info" item can be longer, it will be displayed in
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 2ebf2ebc..92e21668 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 7.3. Last change: 2011 Jun 13
+*map.txt* For Vim version 7.3. Last change: 2011 Aug 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -228,7 +228,7 @@ text before the cursor and start omni completion when some condition is met.
For abbreviations |v:char| is set to the character that was typed to trigger
the abbreviation. You can use this to decide how to expand the {lhs}. You
-you should not either insert or change the v:char.
+should not either insert or change the v:char.
Be very careful about side effects! The expression is evaluated while
obtaining characters, you may very well make the command dysfunctional.
@@ -544,6 +544,7 @@ construct can be used:
<Char-123> character 123
<Char-033> character 27
<Char-0x7f> character 127
+ <S-Char-114> character 114 ('r') shifted ('R')
This is useful to specify a (multi-byte) character in a 'keymap' file.
Upper and lowercase differences are ignored.
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 2f635bc4..ccf68988 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt* For Vim version 7.3. Last change: 2011 Jun 02
+*motion.txt* For Vim version 7.3. Last change: 2011 Jul 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1017,8 +1017,6 @@ CTRL-O Go to [count] Older cursor position in jump list
<Tab> or *CTRL-I* *<Tab>*
CTRL-I Go to [count] newer cursor position in jump list
(not a motion command).
- In a |quickfix-window| it takes you to the position of
- the error under the cursor.
{not in Vi}
{not available without the |+jumplist| feature}
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 3bfc05a2..b256cb6f 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.3. Last change: 2011 Jul 07
+*options.txt* For Vim version 7.3. Last change: 2011 Sep 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -4861,6 +4861,10 @@ A jump table for the options with a short description can be found at |Q_op|.
written. A ":set nomodified" command also resets the original
values to the current values and the 'modified' option will be
reset.
+ This option is not set when a change is made to the buffer as the
+ result of a BufNewFile, BufRead/BufReadPost, BufWritePost,
+ FileAppendPost or VimLeave autocommand event. See |gzip-example| for
+ an explanation.
When 'buftype' is "nowrite" or "nofile" this option may be set, but
will be ignored.
@@ -5898,8 +5902,11 @@ A jump table for the options with a short description can be found at |Q_op|.
"bash.exe -c ls" or "command.com /c dir". For the MS-DOS-like
systems, the default is set according to the value of 'shell', to
reduce the need to set this option by the user. It's not used for
- OS/2 (EMX figures this out itself). See |option-backslash| about
- including spaces and backslashes. See |dos-shell|.
+ OS/2 (EMX figures this out itself).
+ On Unix it can have more than one flag. Each white space separated
+ part is passed as an argument to the shell command.
+ See |option-backslash| about including spaces and backslashes.
+ Also see |dos-shell| for MS-DOS and MS-Windows.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt
index 81d18418..6fc07694 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 Aug 16
+*os_vms.txt* For Vim version 7.3. Last change: 2011 Aug 14
VIM REFERENCE MANUAL
@@ -38,9 +38,6 @@ You can download the Vim source code by ftp from the official Vim site:
Or use one of the mirrors:
ftp://ftp.vim.org/pub/vim/MIRRORS
-You will need both the Unix and Extra archives to build vim.exe for VMS.
-For using Vim's full power you will need the runtime files as well.
-
You can download precompiled executables from:
http://www.polarhome.com/vim/
ftp://ftp.polarhome.com/pub/vim/
@@ -75,7 +72,7 @@ See the file [.SRC]INSTALLVMS.TXT.
4. Problems *vms-problems*
The code has been tested under Open VMS 6.2 - 8.2 on Alpha, VAX and IA64
-platforms with the DEC C compiler. It should work without bigger problems.
+platforms with the DEC C compiler. It should work without big problems.
If your system does not have some include libraries you can tune up in
OS_VMS_CONF.H file.
@@ -88,11 +85,11 @@ Also GTK, XPM library paths should be configured in MAKE_VMS.MMS
Note: Under VAX it should work with the DEC C compiler without problems. The
VAX C compiler is not fully ANSI C compatible in pre-processor directives
-semantics, therefore you have to use a converter program what will do the lion
+semantics, therefore you have to use a converter program that will do the lion
part of the job. For detailed instructions read file INSTALLvms.txt
-MMS_VIM.EXE is build together with VIM.EXE, but for XD.EXE you should
-change to subdirectory and build it separately.
+MMS_VIM.EXE is build together with VIM.EXE, but for XXD.EXE you should
+change to a subdirectory and build it separately.
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
specific source might contain CTAGS source files as described above.
@@ -184,9 +181,9 @@ You may want to create .vimrc and .gvimrc files in your home directory
The easiest way is just rename example files. You may leave the menu file
(MENU.VIM) and files vimrc and gvimrc in the original $VIM directory. It will
-be default setup for all users, and for users it is enough just to have their
-own additions or resetting in their home directory in files .vimrc and .gvimrc.
-It should work without problems.
+be the default setup for all users, and for users it is enough to just have
+their own additions or resetting in their home directory in files .vimrc and
+.gvimrc. It should work without problems.
Note: Remember, system rc files (default for all users) don't have a leading
".". So, system rc files are: >
@@ -200,7 +197,7 @@ and user customized rc files are: >
sys$login:.vimrc
sys$login:.gvimrc
-You can check that everything is on the right place with the :version command.
+You can check that everything is at the right place with the :version command.
Example LOGIN.COM: >
@@ -209,15 +206,15 @@ Example LOGIN.COM: >
$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40
$ set disp/create/node=192.168.5.223/trans=tcpip
-Note: This set-up should be enough, if you are working on standalone server or
-clustered environment, but if you want to use Vim as internode editor in
+Note: This set-up should be enough, if you are working on a standalone server or
+clustered environment, but if you want to use Vim as an internode editor in
DECNET environment, it will satisfy as well.
You just have to define the "whole" path: >
$ define VIM "<server_name>[""user password""]::device:<path>"
$ vi*m :== "mcr VIM:VIM.EXE"
-As for example: >
+For example: >
$ define VIM "PLUTO::RF10:[UTIL.VIM]"
$ define VIM "PLUTO""ZAY mypass""::RF10:[UTIL.VIM]" ! if passwd required
@@ -300,12 +297,12 @@ For more information type $help set disp in VMS prompt.
4) If you are working on MS-Windows or some other non X/Window environment
you need to set up one X server and run Vim as in point 2.
- For MS-Windows there are available free X servers as MIX , Omni X etc.,
+ For MS-Windows there are available free X servers as MIX, Omni X etc.,
as well as excellent commercial products as eXcursion or ReflectionX with
built-in DEC support.
Please note, that executables without GUI are slightly faster during startup
-then with enabled GUI in character mode. Therefore, if you do not use GUI
+than with enabled GUI in character mode. Therefore, if you do not use GUI
features, it is worth to choose non GUI executables.
==============================================================================
@@ -326,8 +323,8 @@ features, it is worth to choose non GUI executables.
8.12 diff-mode
8.13 Allow '$' in C keywords
8.14 VIMTUTOR for beginners
-8.15 Slow start in console mode issue
-8.16 Common VIM directory - different architectures
+8.15 Slow start in console mode issue
+8.16 Common VIM directory - different architectures
8.1 Backspace/delete
@@ -360,7 +357,7 @@ number, try these settings. >
:set nowritebackup " does not have any purpose on VMS. It's the
" default.
-Recovery is working perfect as well from the default swap file.
+Recovery is working perfectly as well from the default swap file.
Read more with :help swapfile
(Claude Marinier <ClaudeMarinier@xwavesolutions.com> Vim 5.5, Zoltan Arpadffy
@@ -386,7 +383,7 @@ Note: You may use <,> brackets as well (device:<path>file.ext;version) as
rf10:<user.zay.work>test.c;1
(David Elins <delins@foliage.com>, Jerome Lauret
-<JLAURET@mail.chem.sunysb.edu> Vim 5.6 )
+<JLAURET@mail.chem.sunysb.edu> Vim 5.6)
8.5 Remote host invocation
@@ -445,14 +442,14 @@ Terminal entry not found in termcap
builtin_dumb
defaulting to 'vt320'
---
-The solution is to define default terminal name: >
+The solution is to define the default terminal name: >
$ ! unknown terminal name. Let us use vt320 or ansi instead.
$ ! Note: it's case sensitive
$ define term "vt320"
-Terminals from VT100 to VT320 (as V300, VT220, VT200 ) do not need any extra
-keyboard mappings. They should work perfect as they are, including arrows,
+Terminals from VT100 to VT320 (as V300, VT220, VT200) do not need any extra
+keyboard mappings. They should work perfectly as they are, including arrows,
Ins, Del buttons etc., except Backspace in GUI mode. To solve it, add to
.gvimrc: >
@@ -465,8 +462,8 @@ your .vimrc file: >
set ttyfast " set fast terminal
-Note: if you're using Vim on remote host or through very slow connection, it's
-recommended to avoid fast terminal option with: >
+Note: if you're using Vim on remote host or through a very slow connection, it's
+recommended to avoid the fast terminal option with: >
set nottyfast " set terminal to slow mode
@@ -483,8 +480,8 @@ special commands to execute executables: >
OpenVMS users always have to be aware that the Vim command :! "just" drop them
to DCL prompt. This feature is possible to use without any problem with all
-DCL commands, but if we want to execute some program as XXD, CTAGS, JTAGS etc.
-we're running into trouble if we follow the Vim documentation (see: help
+DCL commands, but if we want to execute some programs such as XXD, CTAGS, JTAGS,
+etc. we're running into trouble if we follow the Vim documentation (see: help
xxd).
Solution: Execute with the MC command and add the full path to the executable.
@@ -534,7 +531,7 @@ Example: >
$define SYS$PRINT HP5ANSI
-You can print out whole buffer or just the marked area.
+You can print out the whole buffer or just the marked area.
More info under :help hardcopy
(Zoltan Arpadffy, Vim 6.0c)
@@ -561,16 +558,16 @@ will be confused after a window-resize.
From 6.0 diff functionality has been implemented, but OpenVMS does not use
GNU/Unix like diff therefore built in diff does not work.
There is a simple solution to solve this anomaly. Install a Unix like diff
-and Vim will work perfect in diff mode too. You just have to redefine your
+and Vim will work perfectly in diff mode too. You just have to redefine your
diff program as: >
define /nolog diff <GNU_PATH>diff.exe
Another, more sophisticated solution is described below (8.12 diff-mode)
-There are some other programs as patch, make etc that may cause same problems.
-At www.polarhome.com is possible to download an GNU package for Alpha and VAX
-boxes that is meant to solve GNU problems on OpenVMS.
-( Zoltan Arpadffy, Vim 6.1)
+There are other programs such as patch, make etc that may cause the same
+problems. At www.polarhome.com is possible to download an GNU package for
+Alpha and VAX boxes that is meant to solve GNU problems on OpenVMS.
+(Zoltan Arpadffy, Vim 6.1)
8.12 diff-mode
@@ -632,7 +629,7 @@ You can now compare files in 4 ways: >
3. VIM diff: $ VIMDIFF <FILE1> <FILE2>
4. GVIM diff: $ GVIMDIFF <FILE1> <FILE2>
-( Coen Engelbarts, Vim 6.1)
+(Coen Engelbarts, Vim 6.1)
8.13 Allow '$' in C keywords
@@ -653,35 +650,36 @@ Now word-based commands, e.g. the '*'-search-command and the CTRL-]
tag-lookup, work on the whole identifier. (Ctags on VMS also supports '$' in
C keywords since ctags version 5.1.)
-( Coen Engelbarts, Vim 6.1)
+(Coen Engelbarts, Vim 6.1)
8.14 VIMTUTOR for beginners
-It exits VIMTUTOR.COM DCL script that can help Vim beginners to learn/make
-first steps with Vim on OpenVMS. Depending of binary distribution you may
-start it with: >
+The VIMTUTOR.COM DCL script can help Vim beginners to learn/make their first
+steps with Vim on OpenVMS. Depending of binary distribution you may start it
+with: >
@vim:vimtutor
(Thomas.R.Wyant III, Vim 6.1)
-8.14 Slow start in console mode issue
+8.16 Slow start in console mode issue
As GUI/GTK Vim works equally well in console mode, many administrators
deploy those executables system wide.
Unfortunately, on a remote slow connections GUI/GTK executables behave rather
-slow when user wants to run Vim just in the console mode - because of X environment detection timeout.
+slow when user wants to run Vim just in the console mode - because of X
+environment detection timeout.
Luckily, there is a simple solution for that. Administrators need to deploy
both GUI/GTK build and just console build executables, like below: >
|- vim73
|----- doc
- |----- syntax
+ |----- syntax
vimrc (system rc files)
gvimrc
- gvim.exe (the renamed GUI or GTK built vim.exe)
- vim.exe (the console only executable)
+ gvim.exe (the renamed GUI or GTK built vim.exe)
+ vim.exe (the console only executable)
Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
@@ -692,7 +690,7 @@ Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
$ gv*im :== spawn/nowait/input=NLA0 mcr VIM:GVIM.EXE -g -GEOMETRY 80x40
-Like this, users that do not have X environment and want to use Vim just in
+Like this, users that do not have X environment and want to use Vim just in
console mode can avoid performance problems.
(Zoltan Arpadffy, Vim 7.2)
@@ -714,8 +712,8 @@ View of Cluster from system ID 11655 node: TOR
+---------------------------------+
It is convenient to have a common VIM directory but execute different
-executables.
-There are more solutions for this problem:
+executables.
+There are several solutions for this problem:
Solution 1. All executables in the same directory with different names
This is easily done with the following script that can be added
@@ -769,7 +767,7 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
Version 7.3
- CTAGS 5.8 included
- VMS compile warnings fixed - floating-point overflow warning corrected on VAX
-- filepath completition corrected - too many chars were escaped in filename
+- filepath completion corrected - too many chars were escaped in filename
and shell commands
- the following plugins are included into VMS runtime:
genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,
@@ -784,10 +782,10 @@ Version 7.3
Version 7.2 (2008 Aug 9)
- VCF files write corrected
- CTAGS 5.7 included
-- corrected make_vms.mms (on VAX gave syntax error)
+- corrected make_vms.mms (on VAX gave syntax error)
Version 7.1 (2007 Jun 15)
-- create TAGS file from menu
+- create TAGS file from menu
Version 7 (2006 May 8)
- Improved low level char input (affects just console mode)
diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt
index 92e85c77..0452bfae 100644
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -1,4 +1,4 @@
-*os_win32.txt* For Vim version 7.3. Last change: 2011 May 28
+*os_win32.txt* For Vim version 7.3. Last change: 2011 Aug 14
VIM REFERENCE MANUAL by George Reilly
@@ -316,11 +316,11 @@ A. When using :! to run an external command, you can run it with "start": >
There are two optional arguments (see the next Q):
/min the window will be minimized.
/b" no console window will be opened
- You can only one of these flags at a time. A second second one will be
+ You can use only one of these flags at a time. A second one will be
treated as the start of the command.
Q. How do I avoid getting a window for programs that I run asynchronously?
-A. You have two possible solutions depending on what exactly do you want:
+A. You have two possible solutions depending on what you want:
1) You may use the /min flag in order to run program in a minimized state
with no other changes. It will work equally for console and GUI
applications.
@@ -328,7 +328,7 @@ A. You have two possible solutions depending on what exactly do you want:
console window for them (GUI applications are not affected). But you
should use this flag only if the application you run doesn't require any
input. Otherwise it will get an EOF error because its input stream
- (stdin) would be redirected to \\.\NUL (stdoud and stderr too).
+ (stdin) would be redirected to \\.\NUL (stdout and stderr too).
Example for a console application, run Exuberant ctags: >
:!start /min ctags -R .
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 1c7feed2..9b7eacce 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 7.3. Last change: 2011 May 25
+*pattern.txt* For Vim version 7.3. Last change: 2011 Jul 20
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/pi_vimball.txt b/runtime/doc/pi_vimball.txt
index 4d5a2371..73e3e666 100644
--- a/runtime/doc/pi_vimball.txt
+++ b/runtime/doc/pi_vimball.txt
@@ -1,4 +1,4 @@
-*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Apr 02
+*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Aug 14
----------------
Vimball Archiver
@@ -16,6 +16,7 @@ Copyright: (c) 2004-2011 by Charles E. Campbell, Jr. *Vimball-copyright*
1. Contents *vba* *vimball* *vimball-contents*
1. Contents......................................: |vimball-contents|
+ 2. Vimball Introduction..........................: |vimball-intro|
3. Vimball Manual................................: |vimball-manual|
MkVimball.....................................: |:MkVimball|
UseVimball....................................: |:UseVimball|
diff --git a/runtime/doc/pi_zip.txt b/runtime/doc/pi_zip.txt
index 25242b86..13c604cf 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: 2011 May 24
+*pi_zip.txt* For Vim version 7.3. Last change: 2011 Aug 14
+====================+
| Zip File Interface |
@@ -69,7 +69,6 @@ Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
let g:loaded_zipPlugin= 1
let g:loaded_zip = 1
<
-<
==============================================================================
3. Additional Extensions *zip-extension*
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index ba9083c2..e390e4c8 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt* For Vim version 7.3. Last change: 2010 Sep 18
+*starting.txt* For Vim version 7.3. Last change: 2011 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -424,12 +424,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
"-d con:30/10/600/150". But you can also use it to start
editing on another device, e.g., AUX:. {not in Vi}
*-f*
--f Amiga: Do not restart Vim to open a new window. This
- option should be used when Vim is started by a program that
- will wait for the edit session to finish (e.g., mail or
- readnews). See |amiga-window|.
-
- GUI: Do not disconnect from the program that started Vim.
+-f GUI: Do not disconnect from the program that started Vim.
'f' stands for "foreground". If omitted, the GUI forks a new
process and exits the current one. "-f" should be used when
gvim is started by a program that will wait for the edit
@@ -437,8 +432,14 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
never to fork, include 'f' in 'guioptions' in your |gvimrc|.
Careful: You can use "-gf" to start the GUI in the foreground,
but "-fg" is used to specify the foreground color. |gui-fork|
+
+ Amiga: Do not restart Vim to open a new window. This
+ option should be used when Vim is started by a program that
+ will wait for the edit session to finish (e.g., mail or
+ readnews). See |amiga-window|.
{not in Vi}
+
*--nofork*
--nofork GUI: Do not fork. Same as |-f|.
*-u* *E282*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index e472a3b1..0f45dc5e 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4233,6 +4233,8 @@ E848 syntax.txt /*E848*
E849 syntax.txt /*E849*
E85 options.txt /*E85*
E850 change.txt /*E850*
+E851 gui_x11.txt /*E851*
+E852 gui_x11.txt /*E852*
E86 windows.txt /*E86*
E87 windows.txt /*E87*
E88 windows.txt /*E88*
@@ -4963,7 +4965,6 @@ cino-( indent.txt /*cino-(*
cino-) indent.txt /*cino-)*
cino-+ indent.txt /*cino-+*
cino-/ indent.txt /*cino-\/*
-cino-2 indent.txt /*cino-2*
cino-: indent.txt /*cino-:*
cino-= indent.txt /*cino-=*
cino-> indent.txt /*cino->*
@@ -4990,6 +4991,7 @@ cino-p indent.txt /*cino-p*
cino-star indent.txt /*cino-star*
cino-t indent.txt /*cino-t*
cino-u indent.txt /*cino-u*
+cino-w indent.txt /*cino-w*
cino-{ indent.txt /*cino-{*
cino-} indent.txt /*cino-}*
cinoptions-values indent.txt /*cinoptions-values*
@@ -5690,6 +5692,7 @@ ft-ptcap-syntax syntax.txt /*ft-ptcap-syntax*
ft-python-indent indent.txt /*ft-python-indent*
ft-python-syntax syntax.txt /*ft-python-syntax*
ft-quake-syntax syntax.txt /*ft-quake-syntax*
+ft-r-indent indent.txt /*ft-r-indent*
ft-readline-syntax syntax.txt /*ft-readline-syntax*
ft-rexx-syntax syntax.txt /*ft-rexx-syntax*
ft-ruby-omni insert.txt /*ft-ruby-omni*
@@ -6022,6 +6025,7 @@ gtk-tooltip-colors gui_x11.txt /*gtk-tooltip-colors*
gu change.txt /*gu*
gugu change.txt /*gugu*
gui gui.txt /*gui*
+gui-IME gui.txt /*gui-IME*
gui-clipboard gui_w32.txt /*gui-clipboard*
gui-colors syntax.txt /*gui-colors*
gui-extras gui.txt /*gui-extras*
@@ -6230,6 +6234,7 @@ i) motion.txt /*i)*
i< motion.txt /*i<*
i> motion.txt /*i>*
iB motion.txt /*iB*
+iBus gui.txt /*iBus*
iW motion.txt /*iW*
i[ motion.txt /*i[*
i] motion.txt /*i]*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 613a25df..6f508faf 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 Jul 15
+*todo.txt* For Vim version 7.3. Last change: 2011 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -34,21 +34,40 @@ not be repeated below, unless there is extra information.
*known-bugs*
-------------------- Known bugs and current work -----------------------
+Patch to start GTK only after forking. (Tim Starling, 2011 Sep 12)
+
+Patch for Lua debug(). (Rob Hoelz, 2011 Sep 12)
+
Go through more coverity reports.
+Using "." to repeat a Visual delete counts bytes, not characters. Can this be
+fixed? (Connor Lane Smith, 2011 Sep 1)
+
+Patch to allow getchar() in expression mapping.
+Why was typeahead saved and restored? (James Vega, 2011 Aug 31)
+
Crash in autocomplete, valgrind log. (Greg Weber, 2011 Apr 22)
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
+Patch to fail if configure can't find an interface, such as Python.
+(Shlomi Fish, 2011 Jul 11)
+
Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1)
Needs more work.
-With "unamedplus" in 'clipboard' pasting in Visual mode causes error for empty
-register. (Michael Seiwald, 2011 Jun 28)
+Patch for glob() returning a list. (Christian Brabandt, 2011 Aug 24, second
+one)
-The :z command doesn't work exactly as it should. (ChangZhuo Chen, 2011 Mar 2)
-Compare with how old Vi works and with posix spec. terminal is 80 x 24,
-'scroll' option set to 11.
+Patch for: (Christian Brabandt, 2011 Aug 22)
+- Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
+ below/above).
+
+Patch for: (Christian Brabandt, 2011 Aug 24, updated patch)
+8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
+ buffer={bufnr}". So one can remove all signs for one file/buffer.
+
+Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21)
'cursorline' is displayed too short when there are concealed characters and
'list' is set. (Dennis Preiser)
@@ -63,29 +82,12 @@ 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)
-When opening file from windows explorer, characters inside [] cause
-problems, even though double quotes are used. (Manuel Stol, 2011 Mar 9)
-
-Patch to change the meaning of \n in substitute(). (motoya kurotsu, 2011 Mar 8)
-
-Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
-Winckler, 2011 May 11)
-Use function to set paste option and restore it, use CTRL-R+ to paste.
-
-Help file foldexpr (ZyX)
+Need to escape $HOME on Windows? (ZyX, 2011 Jul 21)
Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20)
-Patch to automatically get version number into NSIS. (Guopeng Wen, 2011 May
-27)
-
-Patch to add more command completions (Dominique Pelle, 2011 Jun 25)
-
-Patch to have GvimExt not use "edit with existing Vim" entries.
-(Jerome Vuarand, 2011 Jun 22)
-
-Patch to make character classes work with multi-byte characters.
-(Dominique Pelle, 2011 May 31, update July 11)
+With "unamedplus" in 'clipboard' pasting in Visual mode causes error for empty
+register. (Michael Seiwald, 2011 Jun 28) I can't reproduce it.
In GTK Gvim, setting 'lines' and 'columns' to 99999 causes a crash (Tony
Mechelynck, 2011 Apr 25). Can reproduce the crash sometimes:
@@ -102,19 +104,9 @@ The error was 'RenderBadPicture (invalid Picture parameter)'.
backtrace from your debugger if you break on the gdk_x_error() function.)
Check that number of pixels doesn't go above 65535?
-8 Add an event like CursorHold that is triggered repeatedly, not just once
- after typing something.
-Need for CursorHold that retriggers. Use a key that doesn't do anything, or a
-function that resets did_cursorhold.
-Patch by Christian Brabandt, 2011 May 6.
-
popup completion menu closes quickly when there is a fold in the buffer. (Jan
Christoph Ebersbach, 2011 Jul 3)
-CursorHold repeats typed key when it's the start of a mapping.
-(Will Gray, 2011 Mar 23)
-Christian Brabandt: problem is that OP_PENDING isn't set.
-
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
This line hangs Vim, because of syntax HL:
@@ -135,6 +127,8 @@ Using ":break" or something else that stops executing commands inside a
Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)
+Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25)
+
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
right type.
@@ -142,18 +136,17 @@ right type.
string() can't parse back "inf" and "nan". Fix documentation or fix code?
(ZyX, 2010 Aug 23)
+Make 'formatprg' global-local. (Sung Pae)
+
When doing "redir => s:foo" in a script and then "redir END" somewhere else
(e.g. in a function) it can't find s:foo.
+7 Make "ga" show the digraph for a character, if it exists.
+Patch from Christian Brabandt, 2011 Aug 19.
+
maparg() does not show the <script> flag. When temporarily changing a
mapping, how to restore the script ID?
-Patch to fix \%V item in regexp. (Christian Brabandt, 2010 Nov 8)
-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
-
Bug in try/catch: return with invalid compare throws error that isn't caught.
(ZyX, 2011 Jan 26)
@@ -171,10 +164,6 @@ 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.
-
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
30)
@@ -194,6 +183,29 @@ With a filler line in diff mode, it isn't displayed in the column with line
number, but it is in the sign column. Doesn't look right. (ZyX 2011 Jun 5)
Patch by Christian Brabandt, 2011 Jun 5. Introduces new problems.
+8 Add a command to jump to the next character highlighted with "Error".
+Patch by Christian Brabandt, uses ]e [e ]t and [t. 2011 Aug 9.
+
+8 Add an event like CursorHold that is triggered repeatedly, not just once
+ after typing something.
+Need for CursorHold that retriggers. Use a key that doesn't do anything, or a
+function that resets did_cursorhold.
+Patch by Christian Brabandt, 2011 May 6.
+
+7 Use "++--", "+++--" for different levels instead of "+---" "+----".
+Patch by Christian Brabandt, 2011 Jul 27.
+Update by Ben Fritz, with fix for TOhtml. (2011 Jul 30)
+
+9 Add %F to 'errorformat': file name without spaces. Useful on Unix to
+ avoid matching something up to a time 11:22:33.
+Patch by Christian Brabandt, 2011 Jul 27.
+
+Patch to fix \%V item in regexp. (Christian Brabandt, 2010 Nov 8)
+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
+
In the sandbox it's not allowed to do many things, but it's possible to change
or set variables. Add a way to prevent variables from being changed in the
sandbox? E.g.: ":protect g:restore_settings".
@@ -223,9 +235,6 @@ New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)
"L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle,
2011 Feb 27)
-Patch to fail if configure can't find an interface, such as Python.
-(Shlomi Fish, 2011 Jul 11)
-
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
@@ -309,26 +318,20 @@ Echo starts in the wrong column:
Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)
-GvimExt sets $LANG in the wrong way. Patch by Yasuhiro Matsumoto, 2011 Jun
-15. This will fix issue no 11.
-
When writing a file > 2Gbyte, the reported number of bytes is negative.
(Antonio Colombo, 2010 Dec 18)
Patch: Let rare word highlighting overrule good word highlighting.
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
-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)
-
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
instead of one. (Constantin Pan, 2010 Sep 10)
Crash in setqflist(). (Benoit Mortgat, 2010 Nov 18)
-Patch to handle resizing when tab is opened, when at full size. (Yukihiro
-Nakadaira, 2010 Jan 6)
+Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
+Winckler, 2011 May 11)
+Requires a map mode for Insert mode started from blockwise Visual mode.
Writing nested List and Dict in viminfo gives error message and can't be read
back. (Yukihiro Nakadaira, 2010 Nov 13)
@@ -426,10 +429,6 @@ echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 17)
Cannot use getchar() inside :normal and using an expression mapping. Is this
supposed to work? (XyX, 2010 Sep 22)
-When using an expression mapping with a multi-byte character each byte is
-converted to a utf-8 character. (ZyX, 2011 Jan 4)
-Patch for possible solution. (Yukihiro Nakadaira, 2011 Jan 5)
-
When a:base in 'completefunc' starts with a number it's passed as a number,
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
string value.
@@ -756,11 +755,6 @@ an alternate solution, also for src/ex_getln.c.
This also fails when the file or directory name contains "%". (Thoml, 2008
July 7)
-The str2special() function doesn't handle multi-byte characters properly.
-Patch from Vladimir Vichniakov, 2007 Apr 24.
-Should clean up the whole function. Also allow modifiers like <S-Char-32>?
-find_special_key() also has this problem.
-
Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
2008 May 14)
@@ -836,8 +830,6 @@ try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)
try/catch not working when inside a for loop. (ZyX, 2011 Jan 25)
-Recognize and ignore BOM in error file. (Aleksey Baibarin)
-
":tab help" always opens a new tab, while ":help" re-uses an existing window.
Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
@@ -871,9 +863,6 @@ 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.
-Patch for :lmake not updating the quickfix window title. (Lech Lorens, 2011
-Mar 26)
-
When 'diffopt' has "context:0" a single deleted line causes two folds to merge
and mess up syncing. (Austin Jennings, 2008 Jan 31)
@@ -934,9 +923,6 @@ popup menu over it, first draw the new popup menu, remember its position and
size and then redraw the text, skipping the characters under the popup menu.
This should avoid flicker. Other solution by A.Politz, 2007 Aug 22.
-When the popup menu is close to the edge of the window it is truncated. Patch
-to anchor the popup menu in a different way. (James Vega, 2008 Jul 30)
-
Windows 98: pasting from the clipboard with text from another application has
a trailing NUL. (Joachim Hofmann) Perhaps the length specified for CF_TEXT
isn't right?
@@ -1075,9 +1061,6 @@ If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
Feature request: Command to go to previous tab, like what CTRL-W p does for
windows. (Adam George)
-When using input() in a loop and then ":echo" the display column isn't right.
-(Benjamin Fritz, 2008 Aug 28) Patch by Ben Schmidt, 2008 Sep 2.
-
F1 - F4 in an xterm produce a different escape sequence when used with a
modifier key. Need to catch three different sequences. Use K_ZF1, like
K_ZHOME? (Dickey, 2007 Dec 2)
@@ -2662,7 +2645,6 @@ Folding:
8 Add "z/" and "z?" for searching in not folded text only.
9 Add search pattern item to only match in closed or open fold and/or fold
with certain level. Allows doing ":g/pat/cmd" to work on closed folds.
-7 Use "++--", "+++--" for different levels instead of "+---" "+----".
8 When a closed fold is displayed open because of 'foldminlines', the
behavior of commands is still like the fold is closed. How to make the
user aware of this?
@@ -2842,7 +2824,6 @@ Syntax highlighting:
8 Highlight the text between two matching parens (e.g., with a grey
background) when on one of the parens or in between them.
Option for the matchparen plugin?
-8 Add a command to jump to the next character highlighted with "Error".
8 When using a cterm, and no ctermfg or ctermbg are defined, use start/stop
sequences. Add remark in docs that :if 'term' == "term-name" should be
used.
@@ -4479,11 +4460,8 @@ Marks:
Digraphs:
-7 Make "ga" show the digraph for a character, if it exists.
- Also the keymap?
+7 Make "ga" show the keymap for a character, if it exists.
Also show the code of the character after conversion to 'filenecoding'.
-- Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
- below/above).
- Use digraph table to tell Vim about the collating sequence of special
characters?
8 Add command to remove one or more (all) digraphs. (Brown)
@@ -4601,8 +4579,6 @@ Debug mode:
Various improvements:
9 Python: be able to define a Python function that can be called directly
from Vim script. Requires converting the arguments and return value.
-8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
- buffer={bufnr}". So one can remove all signs for one file/buffer.
7 Add plugins for formatting? Should be able to make a choice depending on
the language of a file (English/Korean/Japanese/etc.).
Setting the 'langformat' option to "chinese" would load the
@@ -4620,8 +4596,6 @@ Various improvements:
7 Instead of filtering errors with a shell script it should be possible to
do this with Vim script. A function that filters the raw text that comes
from the 'makeprg'?
-9 Add %F to 'errorformat': file name without spaces. Useful on Unix to
- avoid matching something up to a time 11:22:33.
- Add %b to 'errorformat': buffer number. (Yegappan Lakshmanan / Suresh
Govindachar)
7 Add a command that goes back to the position from before jumping to the
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index e9406e6a..e9ed1b2c 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 Dec 19
+*undo.txt* For Vim version 7.3. Last change: 2011 Aug 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -35,8 +35,10 @@ CTRL-R Redo [count] changes which were undone. {Vi: redraw
:red[o] Redo one change which was undone. {Vi: no redo}
*U*
-U Undo all latest changes on one line. {Vi: while not
- moved off of it}
+U Undo all latest changes on one line, the line where
+ the latest change was made. |U| itself also counts as
+ a change, and thus |U| undoes a previous |U|.
+ {Vi: while not moved off of the last modified line}
The last changes are remembered. You can use the undo and redo commands above
to revert the text to how it was before each change. You can also apply the
diff --git a/runtime/doc/vi_diff.txt b/runtime/doc/vi_diff.txt
index 8e1f5434..8379667f 100644
--- a/runtime/doc/vi_diff.txt
+++ b/runtime/doc/vi_diff.txt
@@ -1,4 +1,4 @@
-*vi_diff.txt* For Vim version 7.3. Last change: 2010 Oct 11
+*vi_diff.txt* For Vim version 7.3. Last change: 2011 Aug 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -88,8 +88,8 @@ Maximum display width Unix and Win32: 1024 characters, otherwise 255
characters
Maximum lhs of a mapping 50 characters.
Number of different highlighting types: over 30000
-Range of a Number variable: -2147483648 to 2147483647 (more on 64 bit
- systems)
+Range of a Number variable: -2147483648 to 2147483647 (might be more on 64
+ bit systems)
Maximum length of a line in a tags file: 512 bytes.
Information for undo and text in registers is kept in memory, thus when making
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index ccb98011..31a0e254 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt* For Vim version 7.3. Last change: 2010 Aug 15
+*windows.txt* For Vim version 7.3. Last change: 2011 Aug 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -246,7 +246,7 @@ window will appear.
These command modifiers can be combined to make a vertically split window
occupy the full height. Example: >
- :vertical topleft edit tags
+ :vertical topleft split tags
Opens a vertically split, full-height window on the "tags" file at the far
left of the Vim window.
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index e4c0d1af..5857c529 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 Jul 17
+" Last Change: 2011 Sep 07
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -922,7 +922,7 @@ au BufNewFile,BufRead *.java,*.jav setf java
au BufNewFile,BufRead *.jj,*.jjt setf javacc
" JavaScript, ECMAScript
-au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx setf javascript
+au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx,*.json setf javascript
" Java Server Pages
au BufNewFile,BufRead *.jsp setf jsp
@@ -2345,6 +2345,9 @@ endfunc
" Yaml
au BufNewFile,BufRead *.yaml,*.yml setf yaml
+" yum conf (close enough to dosini)
+au BufNewFile,BufRead */etc/yum.conf setf dosini
+
" Zope
" dtml (zope dynamic template markup language), pt (zope page template),
" cpt (zope form controller page template)
@@ -2515,6 +2518,9 @@ au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap')
" Xinetd conf
au BufNewFile,BufRead */etc/xinetd.d/* call s:StarSetf('xinetd')
+" yum conf (close enough to dosini)
+au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini')
+
" Z-Shell script
au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
diff --git a/runtime/ftplugin/c.vim b/runtime/ftplugin/c.vim
index 162205bc..7d6c2985 100644
--- a/runtime/ftplugin/c.vim
+++ b/runtime/ftplugin/c.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2007 Sep 25
+" Last Change: 2011 Aug 04
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -36,7 +36,7 @@ endif
" When the matchit plugin is loaded, this makes the % command skip parens and
" braces in comments.
-let b:match_words = &matchpairs
+let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
let b:match_skip = 's:comment\|string\|character'
" Win32 can filter files in the browse dialog
diff --git a/runtime/ftplugin/man.vim b/runtime/ftplugin/man.vim
index 3fb22a10..242a7712 100644
--- a/runtime/ftplugin/man.vim
+++ b/runtime/ftplugin/man.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com>
-" Last Change: 2010 Nov 29
+" Last Change: 2011 Jul 25
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@@ -17,7 +17,9 @@ if &filetype == "man"
" Ensure Vim is not recursively invoked (man-db does this)
" when doing ctrl-[ on a man page reference.
- let $MANPAGER = ""
+ if exists("$MANPAGER")
+ let $MANPAGER = ""
+ endif
" allow dot and dash in manual page name.
setlocal iskeyword+=\.,-
diff --git a/runtime/indent/awk.vim b/runtime/indent/awk.vim
index 726a5ddb..edc7acac 100644
--- a/runtime/indent/awk.vim
+++ b/runtime/indent/awk.vim
@@ -23,6 +23,7 @@
" 26-04-2002 Got initial version working reasonably well
" 29-04-2002 Fixed problems in function headers and max line width
" Added support for two-line if's without curly braces
+" Fixed hang: 2011 Aug 31
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -118,7 +119,7 @@ function! GetAwkIndent()
" Case 1
if prev_data =~ ')' && brace_balance < 0
- while brace_balance != 0
+ while brace_balance != 0 && prev_lineno > 0
let prev_lineno = s:Get_prev_line( prev_lineno )
let prev_data = getline( prev_lineno )
let brace_balance=brace_balance+s:Get_brace_balance(prev_data,'(',')' )
diff --git a/runtime/indent/r.vim b/runtime/indent/r.vim
new file mode 100644
index 00000000..9c78f304
--- /dev/null
+++ b/runtime/indent/r.vim
@@ -0,0 +1,482 @@
+" Vim indent file
+" Language: R
+" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
+" Last Change: Wed Aug 31, 2011 12:24AM
+
+
+" Only load this indent file when no other was loaded.
+if exists("b:did_r_indent")
+ finish
+endif
+let b:did_r_indent = 1
+
+setlocal indentkeys=0{,0},:,!^F,o,O,e
+setlocal indentexpr=GetRIndent()
+
+" Only define the function once.
+if exists("*GetRIndent")
+ finish
+endif
+
+" Options to make the indentation more similar to Emacs/ESS:
+if !exists("g:r_indent_align_args")
+ let g:r_indent_align_args = 1
+endif
+if !exists("g:r_indent_ess_comments")
+ let g:r_indent_ess_comments = 0
+endif
+if !exists("g:r_indent_comment_column")
+ let g:r_indent_comment_column = 40
+endif
+if ! exists("g:r_indent_ess_compatible")
+ let g:r_indent_ess_compatible = 0
+endif
+
+function s:RDelete_quotes(line)
+ let i = 0
+ let j = 0
+ let line1 = ""
+ let llen = strlen(a:line)
+ while i < llen
+ if a:line[i] == '"'
+ let i += 1
+ let line1 = line1 . 's'
+ while !(a:line[i] == '"' && ((i > 1 && a:line[i-1] == '\' && a:line[i-2] == '\') || a:line[i-1] != '\')) && i < llen
+ let i += 1
+ endwhile
+ if a:line[i] == '"'
+ let i += 1
+ endif
+ else
+ if a:line[i] == "'"
+ let i += 1
+ let line1 = line1 . 's'
+ while !(a:line[i] == "'" && ((i > 1 && a:line[i-1] == '\' && a:line[i-2] == '\') || a:line[i-1] != '\')) && i < llen
+ let i += 1
+ endwhile
+ if a:line[i] == "'"
+ let i += 1
+ endif
+ else
+ if a:line[i] == "`"
+ let i += 1
+ let line1 = line1 . 's'
+ while a:line[i] != "`" && i < llen
+ let i += 1
+ endwhile
+ if a:line[i] == "`"
+ let i += 1
+ endif
+ endif
+ endif
+ endif
+ if i == llen
+ break
+ endif
+ let line1 = line1 . a:line[i]
+ let j += 1
+ let i += 1
+ endwhile
+ return line1
+endfunction
+
+" Convert foo(bar()) int foo()
+function s:RDelete_parens(line)
+ if s:Get_paren_balance(a:line, "(", ")") != 0
+ return a:line
+ endif
+ let i = 0
+ let j = 0
+ let line1 = ""
+ let llen = strlen(a:line)
+ while i < llen
+ let line1 = line1 . a:line[i]
+ if a:line[i] == '('
+ let nop = 1
+ while nop > 0 && i < llen
+ let i += 1
+ if a:line[i] == ')'
+ let nop -= 1
+ else
+ if a:line[i] == '('
+ let nop += 1
+ endif
+ endif
+ endwhile
+ let line1 = line1 . a:line[i]
+ endif
+ let i += 1
+ endwhile
+ return line1
+endfunction
+
+function! s:Get_paren_balance(line, o, c)
+ let line2 = substitute(a:line, a:o, "", "g")
+ let openp = strlen(a:line) - strlen(line2)
+ let line3 = substitute(line2, a:c, "", "g")
+ let closep = strlen(line2) - strlen(line3)
+ return openp - closep
+endfunction
+
+function! s:Get_matching_brace(linenr, o, c, delbrace)
+ let line = SanitizeRLine(getline(a:linenr))
+ if a:delbrace == 1
+ let line = substitute(line, '{$', "", "")
+ endif
+ let pb = s:Get_paren_balance(line, a:o, a:c)
+ let i = a:linenr
+ while pb != 0 && i > 1
+ let i -= 1
+ let pb += s:Get_paren_balance(SanitizeRLine(getline(i)), a:o, a:c)
+ endwhile
+ return i
+endfunction
+
+" This function is buggy because there 'if's without 'else'
+" It must be rewritten relying more on indentation
+function! s:Get_matching_if(linenr, delif)
+" let filenm = expand("%")
+" call writefile([filenm], "/tmp/matching_if_" . a:linenr)
+ let line = SanitizeRLine(getline(a:linenr))
+ if a:delif
+ let line = substitute(line, "if", "", "g")
+ endif
+ let elsenr = 0
+ let i = a:linenr
+ let ifhere = 0
+ while i > 0
+ let line2 = substitute(line, '\<else\>', "xxx", "g")
+ let elsenr += strlen(line) - strlen(line2)
+ if line =~ '.*\s*if\s*()' || line =~ '.*\s*if\s*()'
+ let elsenr -= 1
+ if elsenr == 0
+ let ifhere = i
+ break
+ endif
+ endif
+ let i -= 1
+ let line = SanitizeRLine(getline(i))
+ endwhile
+ if ifhere
+ return ifhere
+ else
+ return a:linenr
+ endif
+endfunction
+
+function! s:Get_last_paren_idx(line, o, c, pb)
+ let blc = a:pb
+ let line = substitute(a:line, '\t', s:curtabstop, "g")
+ let theidx = -1
+ let llen = strlen(line)
+ let idx = 0
+ while idx < llen
+ if line[idx] == a:o
+ let blc -= 1
+ if blc == 0
+ let theidx = idx
+ endif
+ else
+ if line[idx] == a:c
+ let blc += 1
+ endif
+ endif
+ let idx += 1
+ endwhile
+ return theidx + 1
+endfunction
+
+" Get previous relevant line. Search back until getting a line that isn't
+" comment or blank
+function s:Get_prev_line(lineno)
+ let lnum = a:lineno - 1
+ let data = getline( lnum )
+ while lnum > 0 && (data =~ '^\s*#' || data =~ '^\s*$')
+ let lnum = lnum - 1
+ let data = getline( lnum )
+ endwhile
+ return lnum
+endfunction
+
+" This function is also used by r-plugin/common_global.vim
+" Delete from '#' to the end of the line, unless the '#' is inside a string.
+function SanitizeRLine(line)
+ let newline = s:RDelete_quotes(a:line)
+ let newline = s:RDelete_parens(newline)
+ let newline = substitute(newline, '#.*', "", "")
+ let newline = substitute(newline, '\s*$', "", "")
+ return newline
+endfunction
+
+function GetRIndent()
+
+ let clnum = line(".") " current line
+
+ let cline = getline(clnum)
+ if cline =~ '^\s*#'
+ if g:r_indent_ess_comments == 1
+ if cline =~ '^\s*###'
+ return 0
+ endif
+ if cline !~ '^\s*##'
+ return g:r_indent_comment_column
+ endif
+ endif
+ endif
+
+ let cline = SanitizeRLine(cline)
+
+ if cline =~ '^\s*}' || cline =~ '^\s*}\s*)$'
+ let indline = s:Get_matching_brace(clnum, '{', '}', 1)
+ if indline > 0 && indline != clnum
+ let iline = SanitizeRLine(getline(indline))
+ if s:Get_paren_balance(iline, "(", ")") == 0 || iline =~ '(\s*{$'
+ return indent(indline)
+ else
+ let indline = s:Get_matching_brace(indline, '(', ')', 1)
+ return indent(indline)
+ endif
+ endif
+ endif
+
+ " Find the first non blank line above the current line
+ let lnum = s:Get_prev_line(clnum)
+ " Hit the start of the file, use zero indent.
+ if lnum == 0
+ return 0
+ endif
+
+ let line = SanitizeRLine(getline(lnum))
+
+ if &filetype == "rhelp"
+ if cline =~ '^\\dontshow{' || cline =~ '^\\dontrun{' || cline =~ '^\\donttest{' || cline =~ '^\\testonly{'
+ return 0
+ endif
+ if line =~ '^\\examples{' || line =~ '^\\usage{' || line =~ '^\\dontshow{' || line =~ '^\\dontrun{' || line =~ '^\\donttest{' || line =~ '^\\testonly{'
+ return 0
+ endif
+ if line =~ '^\\method{.*}{.*}(.*'
+ let line = substitute(line, '^\\method{\(.*\)}{.*}', '\1', "")
+ endif
+ endif
+
+ if cline =~ '^\s*{'
+ if g:r_indent_ess_compatible && line =~ ')$'
+ let nlnum = lnum
+ let nline = line
+ while s:Get_paren_balance(nline, '(', ')') < 0
+ let nlnum = s:Get_prev_line(nlnum)
+ let nline = SanitizeRLine(getline(nlnum)) . nline
+ endwhile
+ if nline =~ '^\s*function\s*(' && indent(nlnum) == &sw
+ return 0
+ endif
+ endif
+ if s:Get_paren_balance(line, "(", ")") == 0
+ return indent(lnum)
+ endif
+ endif
+
+ " line is an incomplete command:
+ if line =~ '\<\(if\|while\|for\|function\)\s*()$' || line =~ '\<else$' || line =~ '<-$'
+ return indent(lnum) + &sw
+ endif
+
+ " Deal with () and []
+
+ let pb = s:Get_paren_balance(line, '(', ')')
+
+ if line =~ '^\s*{$' || line =~ '(\s*{' || (pb == 0 && (line =~ '{$' || line =~ '(\s*{$'))
+ return indent(lnum) + &sw
+ endif
+
+ let bb = s:Get_paren_balance(line, '[', ']')
+
+ let s:curtabstop = repeat(' ', &tabstop)
+ if g:r_indent_align_args == 1
+
+ if pb == 0 && bb == 0 && (line =~ '.*[,&|\-\*+<>]$' || cline =~ '^\s*[,&|\-\*+<>]')
+ return indent(lnum)
+ endif
+
+ if pb > 0
+ if &filetype == "rhelp"
+ let ind = s:Get_last_paren_idx(line, '(', ')', pb)
+ else
+ let ind = s:Get_last_paren_idx(getline(lnum), '(', ')', pb)
+ endif
+ return ind
+ endif
+
+ if pb < 0 && line =~ '.*[,&|\-\*+<>]$'
+ let lnum = s:Get_prev_line(lnum)
+ while pb < 1 && lnum > 0
+ let line = SanitizeRLine(getline(lnum))
+ let line = substitute(line, '\t', s:curtabstop, "g")
+ let ind = strlen(line)
+ while ind > 0
+ if line[ind] == ')'
+ let pb -= 1
+ else
+ if line[ind] == '('
+ let pb += 1
+ endif
+ endif
+ if pb == 1
+ return ind + 1
+ endif
+ let ind -= 1
+ endwhile
+ let lnum -= 1
+ endwhile
+ return 0
+ endif
+
+ if bb > 0
+ let ind = s:Get_last_paren_idx(getline(lnum), '[', ']', bb)
+ return ind
+ endif
+ endif
+
+ let post_block = 0
+ if line =~ '}$'
+ let lnum = s:Get_matching_brace(lnum, '{', '}', 0)
+ let line = SanitizeRLine(getline(lnum))
+ if lnum > 0 && line =~ '^\s*{'
+ let lnum = s:Get_prev_line(lnum)
+ let line = SanitizeRLine(getline(lnum))
+ endif
+ let pb = s:Get_paren_balance(line, '(', ')')
+ let post_block = 1
+ endif
+
+ let post_fun = 0
+ if pb < 0 && line !~ ')\s*[,&|\-\*+<>]$'
+ let post_fun = 1
+ while pb < 0 && lnum > 0
+ let lnum -= 1
+ let linepiece = SanitizeRLine(getline(lnum))
+ let pb += s:Get_paren_balance(linepiece, "(", ")")
+ let line = linepiece . line
+ endwhile
+ if line =~ '{$' && post_block == 0
+ return indent(lnum) + &sw
+ endif
+
+ " Now we can do some tests again
+ if cline =~ '^\s*{'
+ return indent(lnum)
+ endif
+ if post_block == 0
+ let newl = SanitizeRLine(line)
+ if newl =~ '\<\(if\|while\|for\|function\)\s*()$' || newl =~ '\<else$' || newl =~ '<-$'
+ return indent(lnum) + &sw
+ endif
+ endif
+ endif
+
+ if cline =~ '^\s*else'
+ if line =~ '<-\s*if\s*()'
+ return indent(lnum) + &sw
+ else
+ if line =~ '\<if\s*()'
+ return indent(lnum)
+ else
+ return indent(lnum) - &sw
+ endif
+ endif
+ endif
+
+ if bb < 0 && line =~ '.*]'
+ while bb < 0 && lnum > 0
+ let lnum -= 1
+ let linepiece = SanitizeRLine(getline(lnum))
+ let bb += s:Get_paren_balance(linepiece, "[", "]")
+ let line = linepiece . line
+ endwhile
+ let line = s:RDelete_parens(line)
+ endif
+
+ let plnum = s:Get_prev_line(lnum)
+ let ppost_else = 0
+ if plnum > 0
+ let pline = SanitizeRLine(getline(plnum))
+ let ppost_block = 0
+ if pline =~ '}$'
+ let ppost_block = 1
+ let plnum = s:Get_matching_brace(plnum, '{', '}', 0)
+ let pline = SanitizeRLine(getline(plnum))
+ if pline =~ '^\s*{$' && plnum > 0
+ let plnum = s:Get_prev_line(plnum)
+ let pline = SanitizeRLine(getline(plnum))
+ endif
+ endif
+
+ if pline =~ 'else$'
+ let ppost_else = 1
+ let plnum = s:Get_matching_if(plnum, 0)
+ let pline = SanitizeRLine(getline(plnum))
+ endif
+
+ if pline =~ '^\s*else\s*if\s*('
+ let pplnum = s:Get_prev_line(plnum)
+ let ppline = SanitizeRLine(getline(pplnum))
+ while ppline =~ '^\s*else\s*if\s*(' || ppline =~ '^\s*if\s*()\s*\S$'
+ let plnum = pplnum
+ let pline = ppline
+ let pplnum = s:Get_prev_line(plnum)
+ let ppline = SanitizeRLine(getline(pplnum))
+ endwhile
+ while ppline =~ '\<\(if\|while\|for\|function\)\s*()$' || ppline =~ '\<else$' || ppline =~ '<-$'
+ let plnum = pplnum
+ let pline = ppline
+ let pplnum = s:Get_prev_line(plnum)
+ let ppline = SanitizeRLine(getline(pplnum))
+ endwhile
+ endif
+
+ let ppb = s:Get_paren_balance(pline, '(', ')')
+ if ppb < 0 && (pline =~ ')\s*{$' || pline =~ ')$')
+ while ppb < 0 && plnum > 0
+ let plnum -= 1
+ let linepiece = SanitizeRLine(getline(plnum))
+ let ppb += s:Get_paren_balance(linepiece, "(", ")")
+ let pline = linepiece . pline
+ endwhile
+ let pline = s:RDelete_parens(pline)
+ endif
+ endif
+
+ let ind = indent(lnum)
+ let pind = indent(plnum)
+
+ if g:r_indent_align_args == 0 && pb != 0
+ let ind += pb * &sw
+ return ind
+ endif
+
+ if ind == pind || (ind == (pind + &sw) && pline =~ '{$' && ppost_else == 0)
+ return ind
+ endif
+
+ while pind < ind && plnum > 0 && ppb == 0
+ let ind = pind
+ let plnum = s:Get_prev_line(plnum)
+ let pline = getline(plnum)
+ let ppb = s:Get_paren_balance(pline, '(', ')')
+ while pline =~ '^\s*else'
+ let plnum = s:Get_matching_if(plnum, 1)
+ let pline = getline(plnum)
+ let ppb = s:Get_paren_balance(pline, '(', ')')
+ endwhile
+ let pind = indent(plnum)
+ if ind == (pind + &sw) && pline =~ '{$'
+ return ind
+ endif
+ endwhile
+
+ return ind
+
+endfunction
+
+" vim: sw=4
diff --git a/runtime/indent/rst.vim b/runtime/indent/rst.vim
index f936c9b2..80d3308f 100644
--- a/runtime/indent/rst.vim
+++ b/runtime/indent/rst.vim
@@ -1,7 +1,7 @@
" Vim indent file
" Language: reStructuredText Documentation Format
" Maintainer: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2006-12-20
+" Latest Revision: 2011-08-03
if exists("b:did_indent")
finish
@@ -16,6 +16,9 @@ if exists("*GetRSTIndent")
finish
endif
+let s:itemization_pattern = '^\s*[-*+]\s'
+let s:enumeration_pattern = '^\s*\%(\d\+\|#\)\.\s\+'
+
function GetRSTIndent()
let lnum = prevnonblank(v:lnum - 1)
if lnum == 0
@@ -25,27 +28,30 @@ function GetRSTIndent()
let ind = indent(lnum)
let line = getline(lnum)
- if line =~ '^\s*[-*+]\s'
- let ind = ind + 2
- elseif line =~ '^\s*\d\+.\s'
- let ind = ind + matchend(substitute(line, '^\s*', '', ''), '\d\+.\s\+')
+ if line =~ s:itemization_pattern
+ let ind += 2
+ elseif line =~ s:enumeration_pattern
+ let ind += matchend(line, s:enumeration_pattern)
endif
let line = getline(v:lnum - 1)
+ " Indent :FIELD: lines. Don’t match if there is no text after the field or
+ " if the text ends with a sent-ender.
+ if line =~ '^:.\+:\s\{-1,\}\S.\+[^.!?:]$'
+ return matchend(line, '^:.\{-1,}:\s\+')
+ endif
+
if line =~ '^\s*$'
execute lnum
- call search('^\s*\%([-*+]\s\|\d\+.\s\|\.\.\|$\)', 'bW')
+ call search('^\s*\%([-*+]\s\|\%(\d\+\|#\)\.\s\|\.\.\|$\)', 'bW')
let line = getline('.')
- if line =~ '^\s*[-*+]'
- let ind = ind - 2
- elseif line =~ '^\s*\d\+\.\s'
- let ind = ind - matchend(substitute(line, '^\s*', '', ''),
- \ '\d\+\.\s\+')
+ if line =~ s:itemization_pattern
+ let ind -= 2
+ elseif line =~ s:enumeration_pattern
+ let ind -= matchend(line, s:enumeration_pattern)
elseif line =~ '^\s*\.\.'
- let ind = ind - 3
- else
- let ind = ind
+ let ind -= 3
endif
endif
diff --git a/runtime/plugin/matchparen.vim b/runtime/plugin/matchparen.vim
index 3cc732bc..03a428d6 100644
--- a/runtime/plugin/matchparen.vim
+++ b/runtime/plugin/matchparen.vim
@@ -1,6 +1,6 @@
" Vim plugin for showing matching parens
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2010 Nov 16
+" Last Change: 2011 Aug 27
" Exit quickly when:
" - this plugin was already loaded (or disabled)
@@ -82,7 +82,7 @@ function! s:Highlight_Matching_Pair()
endif
" When not in a string or comment ignore matches inside them.
- " We match "escape" for special items, such as listpEscapeSpecial.
+ " We match "escape" for special items, such as lispEscapeSpecial.
let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
\ '=~? "string\\|character\\|singlequote\\|escape\\|comment"'
execute 'if' s_skip '| let s_skip = 0 | endif'
diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim
index 28c89c3b..8ce0ff11 100644
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2011 May 2
+" Last Change: 2011 Sep 07
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -273,18 +273,18 @@ endif
" Accept %: for # (C99)
syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
-syn match cPreConditMatch display "^\s*\(%:\|#\)\s*\(else\|endif\|elif\)\>"
+syn match cPreConditMatch display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
if !exists("c_no_if0")
syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip
- syn region cCppOutWrapper start="^\s*\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse
+ syn region cCppOutWrapper start="^\s*\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse fold
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
if !exists("c_no_if0_fold")
- syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip
- else
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip fold
+ else
+ syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip
endif
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
- syn region cCppInWrapper start="^\s*\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse
+ syn region cCppInWrapper start="^\s*\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
if !exists("c_no_if0_fold")
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
diff --git a/runtime/syntax/dosini.vim b/runtime/syntax/dosini.vim
index 9cdc1d2d..e0828bb9 100644
--- a/runtime/syntax/dosini.vim
+++ b/runtime/syntax/dosini.vim
@@ -1,10 +1,10 @@
" Vim syntax file
-" Language: Configuration File (ini file) for MSDOS/MS Windows
-" Version Info: @(#)dosini.vim 1.6 97/12/15 08:54:12
-" Author: Sean M. McKee <mckee@misslink.net>
-" Maintainer: Nima Talebi <nima@it.net.au>
-" Updated By: Hong Xu
-" Last Change: 2011 Jul 16
+" Language: Configuration File (ini file) for MSDOS/MS Windows
+" Version: 2.0
+" Original Author: Sean M. McKee <mckee@misslink.net>
+" Previous Maintainer: Nima Talebi <nima@it.net.au>
+" Current Maintainer: Hong Xu <xuhdev@gmail.com>
+" Last Change: 2011 Jul 21
" For version 5.x: Clear all syntax items
@@ -18,9 +18,13 @@ endif
" shut case off
syn case ignore
-syn match dosiniLabel "^.\{-}="
-syn region dosiniHeader start="^\[" end="\]"
-syn match dosiniComment "^[#;].*$"
+syn match dosiniBool "\<\(yes\|no\|y\|n\|true\|false\)\>"
+syn match dosiniNumber "\<\d\+\>"
+syn match dosiniNumber "\<\d*\.\d\+\>"
+syn match dosiniNumber "\<\d\+e[+-]\=\d\+\>"
+syn match dosiniLabel "^.\{-}="
+syn region dosiniHeader start="^\s*\[" end="\]"
+syn match dosiniComment "^[#;].*$"
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
@@ -33,13 +37,15 @@ if version >= 508 || !exists("did_dosini_syntax_inits")
command -nargs=+ HiLink hi def link <args>
endif
- HiLink dosiniHeader Special
- HiLink dosiniComment Comment
- HiLink dosiniLabel Type
+ HiLink dosiniBool Boolean
+ HiLink dosiniNumber Number
+ HiLink dosiniHeader Special
+ HiLink dosiniComment Comment
+ HiLink dosiniLabel Type
delcommand HiLink
endif
let b:current_syntax = "dosini"
-" vim:ts=8
+" vim: sts=2 sw=2 et
diff --git a/runtime/syntax/pamconf.vim b/runtime/syntax/pamconf.vim
index 46cd3c30..e3c8ba87 100644
--- a/runtime/syntax/pamconf.vim
+++ b/runtime/syntax/pamconf.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: pam(8) configuration file
" Maintainer: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2006-04-19
+" Latest Revision: 2011-08-03
if exists("b:current_syntax")
@@ -33,7 +33,7 @@ syn match pamconfTypeLineCont contained '\\$'
\ pamconfTypeLineCont skipwhite skipnl
syn keyword pamconfControl contained requisite required sufficient
- \ optional
+ \ optional include substack
\ nextgroup=pamconfMPath,
\ pamconfControlLineContH skipwhite
@@ -57,7 +57,9 @@ syn keyword pamconfControlValues contained success open_err symbol_err
\ bad_item and default
\ nextgroup=pamconfControlValueEq
-syn match pamconfControlValueEq contained '=' nextgroup=pamconfControlAction
+syn match pamconfControlValueEq contained '='
+ \ nextgroup=pamconfControlActionN,
+ \ pamconfControlAction
syn match pamconfControlActionN contained '\d\+\>'
\ nextgroup=pamconfControlValues,
diff --git a/runtime/syntax/php.vim b/runtime/syntax/php.vim
index f9104ad7..2c49c64d 100644
--- a/runtime/syntax/php.vim
+++ b/runtime/syntax/php.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: php PHP 3/4/5
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
-" Last Change: April 28, 2011
+" Last Change: July 29, 2011
" URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
@@ -54,14 +54,6 @@
" the string would be highlighted as an error, what is incorrect.
" ii) Same problem if you are setting php_folding = 2 with a closing
" } inside an string on the first line of this string.
-"
-" - A double-quoted string like this:
-" "$foo->someVar->someOtherVar->bar"
-" will highight '->someOtherVar->bar' as though they will be parsed
-" as object member variables, but PHP only recognizes the first
-" object member variable ($foo->someVar).
-"
-"
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -131,7 +123,7 @@ syn keyword phpCoreConstant PHP_VERSION PHP_OS DEFAULT_INCLUDE_PATH PEAR_INSTALL
syn case ignore
-syn keyword phpConstant __LINE__ __FILE__ __FUNCTION__ __METHOD__ __CLASS__ contained
+syn keyword phpConstant __LINE__ __FILE__ __FUNCTION__ __METHOD__ __CLASS__ __DIR__ __NAMESPACE__ contained
" Function and Methods ripped from php_manual_de.tar.gz Jan 2003
@@ -273,7 +265,7 @@ syn keyword phpRepeat as do endfor endforeach endwhile for foreach while contai
syn keyword phpLabel case default switch contained
" Statement
-syn keyword phpStatement return break continue exit contained
+syn keyword phpStatement return break continue exit goto contained
" Keyword
syn keyword phpKeyword var const contained
@@ -282,7 +274,7 @@ syn keyword phpKeyword var const contained
syn keyword phpType bool[ean] int[eger] real double float string array object NULL contained
" Structure
-syn keyword phpStructure extends implements instanceof parent self contained
+syn keyword phpStructure namespace extends implements instanceof parent self contained
" Operator
syn match phpOperator "[-=+%^&|*!.~?:]" contained display
@@ -302,11 +294,41 @@ syn match phpIdentifierSimply "${\h\w*}" contains=phpOperator,phpParent contai
syn region phpIdentifierComplex matchgroup=phpParent start="{\$"rs=e-1 end="}" contains=phpIdentifier,phpMemberSelector,phpVarSelector,phpIdentifierComplexP contained extend
syn region phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contains=@phpClInside contained
+" Interpolated indentifiers (inside strings)
+ syn match phpBrackets "[][}{]" contained display
+ " errors
+ syn match phpInterpSimpleError "\[[^]]*\]" contained display " fallback (if nothing else matches)
+ syn match phpInterpSimpleError "->[^a-zA-Z_]" contained display
+ " make sure these stay above the correct DollarCurlies so they don't take priority
+ syn match phpInterpBogusDollarCurley "${[^}]*}" contained display " fallback (if nothing else matches)
+ syn match phpinterpSimpleBracketsInner "\w\+" contained
+ syn match phpInterpSimpleBrackets "\[\h\w*]" contained contains=phpBrackets,phpInterpSimpleBracketsInner
+ syn match phpInterpSimpleBrackets "\[\d\+]" contained contains=phpBrackets,phpInterpSimpleBracketsInner
+ syn match phpInterpSimpleBrackets "\[0[xX]\x\+]" contained contains=phpBrackets,phpInterpSimpleBracketsInner
+ syn match phpInterpSimple "\$\h\w*\(\[[^]]*\]\|->\h\w*\)\?" contained contains=phpInterpSimpleBrackets,phpIdentifier,phpInterpSimpleError,phpMethods,phpMemberSelector display
+ syn match phpInterpVarname "\h\w*" contained
+ syn match phpInterpMethodName "\h\w*" contained " default color
+ syn match phpInterpSimpleCurly "\${\h\w*}" contains=phpInterpVarname contained extend
+ syn region phpInterpDollarCurley1Helper matchgroup=phpParent start="{" end="\[" contains=phpInterpVarname contained
+ syn region phpInterpDollarCurly1 matchgroup=phpParent start="\${\h\w*\["rs=s+1 end="]}" contains=phpInterpDollarCurley1Helper,@phpClConst contained extend
+
+ syn match phpInterpDollarCurley2Helper "{\h\w*->" contains=phpBrackets,phpInterpVarname,phpMemberSelector contained
+
+ syn region phpInterpDollarCurly2 matchgroup=phpParent start="\${\h\w*->"rs=s+1 end="}" contains=phpInterpDollarCurley2Helper,phpInterpMethodName contained
+
+ syn match phpInterpBogusDollarCurley "${\h\w*->}" contained display
+ syn match phpInterpBogusDollarCurley "${\h\w*\[]}" contained display
+
+ syn region phpInterpComplex matchgroup=phpParent start="{\$"rs=e-1 end="}" contains=phpIdentifier,phpMemberSelector,phpVarSelector,phpIdentifierComplexP contained extend
+ syn region phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contains=@phpClInside contained
+ " define a cluster to get all interpolation syntaxes for double-quoted strings
+ syn cluster phpInterpDouble contains=phpInterpSimple,phpInterpSimpleCurly,phpInterpDollarCurly1,phpInterpDollarCurly2,phpInterpBogusDollarCurley,phpInterpComplex
+
" Methoden
syn match phpMethodsVar "->\h\w*" contained contains=phpMethods,phpMemberSelector display
" Include
-syn keyword phpInclude include require include_once require_once contained
+syn keyword phpInclude include require include_once require_once use contained
" Peter Hodge - added 'clone' keyword
" Define
@@ -322,12 +344,18 @@ syn match phpNumber "\<0x\x\{1,8}\>" contained display
" Float
syn match phpFloat "\(-\=\<\d+\|-\=\)\.\d\+\>" contained display
-" SpecialChar
-syn match phpSpecialChar "\\[abcfnrtyv\\]" contained display
-syn match phpSpecialChar "\\\d\{3}" contained contains=phpOctalError display
-syn match phpSpecialChar "\\x\x\{2}" contained display
-syn match phpDoubleSpecialChar "\\\"" contained display
-syn match phpSingleSpecialChar "\\[\\']" contained display
+" Backslash escapes
+ syn case match
+ " for double quotes and heredoc
+ syn match phpBackslashSequences "\\[fnrtv\\\"$]" contained display
+ syn match phpBackslashSequences "\\\d\{1,3}" contained contains=phpOctalError display
+ syn match phpBackslashSequences "\\x\x\{1,2}" contained display
+ " additional sequence for double quotes only
+ syn match phpBackslashDoubleQuote "\\[\"]" contained display
+ " for single quotes only
+ syn match phpBackslashSingleQuote "\\[\\']" contained display
+ syn case ignore
+
" Error
syn match phpOctalError "[89]" contained display
@@ -356,23 +384,32 @@ endif
" String
if exists("php_parent_error_open")
- syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpDoubleSpecialChar contained keepend
- syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained keepend
- syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpSingleSpecialChar contained keepend
+ syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpBackslashSequences,phpBackslashDoubleQuote,@phpInterpDouble contained keepend
+ syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpBackslashSequences,phpIdentifierSimply,phpIdentifierComplex contained keepend
+ syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpBackslashSingleQuote contained keepend
else
- syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpDoubleSpecialChar contained extend keepend
- syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
- syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpSingleSpecialChar contained keepend extend
+ syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpBackslashSequences,phpBackslashDoubleQuote,@phpInterpDouble contained extend keepend
+ syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpBackslashSequences,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
+ syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpBackslashSingleQuote contained keepend extend
endif
-" HereDoc
+" HereDoc and NowDoc
if version >= 600
syn case match
- syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\I\i*\)$" end="^\z1\(;\=$\)\@=" contained contains=phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar keepend extend
+
+ " HereDoc
+ syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\I\i*\)\2$" end="^\z1\(;\=$\)\@=" contained contains=phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar keepend extend
" including HTML,JavaScript,SQL even if not enabled via options
- syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar keepend extend
- syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar keepend extend
- syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar keepend extend
+ syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)\2$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar keepend extend
+ syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)\2$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar keepend extend
+ syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)\2$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar keepend extend
+
+ " NowDoc
+ syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\I\i*\)'$" end="^\z1\(;\=$\)\@=" contained keepend extend
+" including HTML,JavaScript,SQL even if not enabled via options
+ syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)'$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop keepend extend
+ syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)'$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop keepend extend
+ syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)'$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript keepend extend
syn case ignore
endif
@@ -389,7 +426,7 @@ else
endif
syn cluster phpClConst contains=phpFunctions,phpIdentifier,phpConditional,phpRepeat,phpStatement,phpOperator,phpRelation,phpStringSingle,phpStringDouble,phpBacktick,phpNumber,phpFloat,phpKeyword,phpType,phpBoolean,phpStructure,phpMethodsVar,phpConstant,phpCoreConstant,phpException
-syn cluster phpClInside contains=@phpClConst,phpComment,phpLabel,phpParent,phpParentError,phpInclude,phpHereDoc
+syn cluster phpClInside contains=@phpClConst,phpComment,phpLabel,phpParent,phpParentError,phpInclude,phpHereDoc,phpNowDoc
syn cluster phpClFunction contains=@phpClInside,phpDefine,phpParentError,phpStorageClass
syn cluster phpClTop contains=@phpClFunction,phpFoldFunction,phpFoldClass,phpFoldInterface,phpFoldTry,phpFoldCatch
@@ -452,17 +489,14 @@ else
syn keyword phpStorageClass final global private protected public static contained
endif
+" TODO: fold on "trait". For now just make sure it gets colored:
+syn keyword phpStructure trait
+
" ================================================================
" Peter Hodge - June 9, 2006
" Some of these changes (highlighting isset/unset/echo etc) are not so
" critical, but they make things more colourful. :-)
-" corrected highlighting for an escaped '\$' inside a double-quoted string
-syn match phpSpecialChar "\\\$" contained display
-
-" highlight object variables inside strings
-syn match phpMethodsVar "->\h\w*" contained contains=phpMethods,phpMemberSelector display containedin=phpStringDouble
-
" highlight constant E_STRICT
syntax case match
syntax keyword phpCoreConstant E_STRICT contained
@@ -613,13 +647,21 @@ if version >= 508 || !exists("did_php_syn_inits")
HiLink phpType Type
HiLink phpInclude Include
HiLink phpDefine Define
- HiLink phpSpecialChar SpecialChar
- HiLink phpDoubleSpecialChar SpecialChar
- HiLink phpSingleSpecialChar SpecialChar
+ HiLink phpBackslashSequences SpecialChar
+ HiLink phpBackslashDoubleQuote SpecialChar
+ HiLink phpBackslashSingleQuote SpecialChar
HiLink phpParent Delimiter
+ HiLink phpBrackets Delimiter
HiLink phpIdentifierConst Delimiter
HiLink phpParentError Error
HiLink phpOctalError Error
+ HiLink phpInterpSimpleError Error
+ HiLink phpInterpBogusDollarCurley Error
+ HiLink phpInterpDollarCurly1 Error
+ HiLink phpInterpDollarCurly2 Error
+ HiLink phpInterpSimpleBracketsInner String
+ HiLink phpInterpSimpleCurly Delimiter
+ HiLink phpInterpVarname Identifier
HiLink phpTodo Todo
HiLink phpMemberSelector Structure
if exists("php_oldStyle")
@@ -631,13 +673,13 @@ if version >= 508 || !exists("did_php_syn_inits")
hi phpIdentifier guifg=DarkGray ctermfg=Brown
hi phpIdentifierSimply guifg=DarkGray ctermfg=Brown
else
- HiLink phpIntVar Identifier
- HiLink phpEnvVar Identifier
- HiLink phpOperator Operator
- HiLink phpVarSelector Operator
- HiLink phpRelation Operator
- HiLink phpIdentifier Identifier
- HiLink phpIdentifierSimply Identifier
+ HiLink phpIntVar Identifier
+ HiLink phpEnvVar Identifier
+ HiLink phpOperator Operator
+ HiLink phpVarSelector Operator
+ HiLink phpRelation Operator
+ HiLink phpIdentifier Identifier
+ HiLink phpIdentifierSimply Identifier
endif
delcommand HiLink
diff --git a/runtime/syntax/verilog.vim b/runtime/syntax/verilog.vim
index 01f312f9..f4d21d07 100644
--- a/runtime/syntax/verilog.vim
+++ b/runtime/syntax/verilog.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Verilog
" Maintainer: Mun Johl <Mun.Johl@emulex.com>
-" Last Update: Fri Oct 13 11:44:32 PDT 2006
+" Last Update: Wed Jul 20 16:04:19 PDT 2011
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -11,11 +11,13 @@ elseif exists("b:current_syntax")
finish
endif
-" Set the local value of the 'iskeyword' option
+" Set the local value of the 'iskeyword' option.
+" NOTE: '?' was added so that verilogNumber would be processed correctly when
+" '?' is the last character of the number.
if version >= 600
- setlocal iskeyword=@,48-57,_,192-255
+ setlocal iskeyword=@,48-57,63,_,192-255
else
- set iskeyword=@,48-57,_,192-255
+ set iskeyword=@,48-57,63,_,192-255
endif
" A bunch of useful Verilog keywords
@@ -48,7 +50,7 @@ syn keyword verilogLabel begin end fork join
syn keyword verilogConditional if else case casex casez default endcase
syn keyword verilogRepeat forever repeat while for
-syn keyword verilogTodo contained TODO
+syn keyword verilogTodo contained TODO FIXME
syn match verilogOperator "[&|~><!)(*#%@+/=?:;}{,.\^\-\[\]]"
@@ -113,17 +115,17 @@ if version >= 508 || !exists("did_verilog_syn_inits")
" The default highlighting.
HiLink verilogCharacter Character
HiLink verilogConditional Conditional
- HiLink verilogRepeat Repeat
- HiLink verilogString String
- HiLink verilogTodo Todo
- HiLink verilogComment Comment
- HiLink verilogConstant Constant
- HiLink verilogLabel Label
- HiLink verilogNumber Number
- HiLink verilogOperator Special
- HiLink verilogStatement Statement
- HiLink verilogGlobal Define
- HiLink verilogDirective SpecialComment
+ HiLink verilogRepeat Repeat
+ HiLink verilogString String
+ HiLink verilogTodo Todo
+ HiLink verilogComment Comment
+ HiLink verilogConstant Constant
+ HiLink verilogLabel Label
+ HiLink verilogNumber Number
+ HiLink verilogOperator Special
+ HiLink verilogStatement Statement
+ HiLink verilogGlobal Define
+ HiLink verilogDirective SpecialComment
HiLink verilogEscape Special
delcommand HiLink